JavaでのAWTとSwingの違いは何ですか

目次:

Anonim

NS 主な違い JavaでのAWTとSwingの違いは、 AWTは、Java独自のプラットフォーム依存のウィンドウ処理、グラフィックス、およびユーザーインターフェイスウィジェットツールキットであり、Swingは、AWTの拡張であるJava用のGUIウィジェットツールキットです。

Javaは、オブジェクト指向プログラミング、マルチスレッド、プラットフォームに依存しない、およびその他の多くの機能をサポートする、高レベルの汎用プログラミング言語です。プログラマーは、Java言語を使用して、デスクトップ、Web、モバイル、画像処理などのさまざまなアプリケーションを作成できます。豊富なグラフィカルユーザーインターフェイス(GUI)を構築するためのツールキットを提供します。 AWTとSwingはその2つです。

AWT、GUI、Java、Swing

GUIとは

GUIはの略です グラフィカル・ユーザー・インターフェース。これは、ユーザーがアプリケーションを操作し、必要なタスクを実行できるようにするインターフェースです。また、GUIはさまざまなコンポーネントで構成されています。ウィンドウ、ボタン、ラジオボタン、チェックボックス、ラベル、ドロップダウンリスト、テキストフィールド、コンボボックスは、いくつかのGUIコンポーネントです。これらのコンポーネントはイベントをトリガーできます。たとえば、ボタンをクリックすると新しいページが開きます。または、ユーザーが登録の詳細を入力して送信ボタンを押すことができます。ほとんどのアプリケーションには、ユーザーがアプリケーションと通信できるようにするGUIがあります。

AWTとは

AWTはの略です Abstract Window Toolkit。これは、JavaでGUIまたはWindowsベースのアプリケーションを開発するためのAPIです。機能を実装するには、ネイティブOSオブジェクトが必要です。また、AWTコンポーネントは重量があり、より多くのメモリスペースを必要とします。また、実行に時間がかかります。さらに、プログラマーは、AWTベースのGUIを開発するためにjavax.awtパッケージをインポートする必要があります。ボタン、スクロールバー、テキストフィールド、リスト、ダイアログ、およびパネルは、いくつかのAWTコンポーネントです。オブジェクトを作成した後、それらはコンテナに配置されます。また、コンポーネントをロードするために必要なスペースを提供します。通常、あるOSのAWTアプリケーションは、別のOSでは異なって見える場合があります。

スイングとは

Swingは、Java用のGUIウィジェットツールキットです。これは、AWTAPIの上に構築されています。また、これはOracleのJava Foundation Classes(JFC)の一部です。さらに、Swingは、ラベル、テキストボックス、ボタンなどの基本コンポーネントと、タブ付きペイン、テーブル、ツリーなどの高度なコンポーネントを提供します。したがって、SwingはAWTよりも高度なコンポーネントを提供します。ここで、プログラマーはSwingアプリケーションを作成するためにjavax.swingパッケージをインポートする必要があります。このパッケージは、JButton、JTable、JList、JTextArea、およびJCheckBoxなどの多数のクラスを提供します。

図1:単純なJavaSwingアプリケーション

Swingはプラットフォームに依存せず、そのコンポーネントは軽量です。さらに、コンポーネントには最小限のメモリスペースが必要です。したがって、Swingアプリケーションははるかに高速に実行されます。開発中の一般的なデザインパターンの1つは、モデル、ビュー、コントローラー(MVC)パターンです。スイングはこのパターンに従います。コードを簡単に保守するのに役立ちます。

AWTとSwingの違い

意味

AWTは、JavaでのGUIプログラミングに必要なGUIコンポーネント(ウィジェット)およびその他の関連サービスのコレクションです。 Swingは、JavaベースのフロントエンドGUIアプリケーションを作成するために使用されるJava Foundation Classes(JFC)の一部です。したがって、これはJavaでのAWTとSwingの主な違いを説明しています。

タイプ

AWTコンポーネントは重量があり、Swingコンポーネントは軽量です。

プラットフォームの依存関係

JavaでのAWTとSwingのもう1つの大きな違いは、AWTはプラットフォームに依存するのに対し、Swingはプラットフォームに依存しないことです。

画面

コンポーネント

また、SwingにはAWTよりも高度なコンポーネントがあります。

スピード

さらに、AWTの実行は遅くなります。ただし、Swingの実行速度は速くなります。

MVC

AWTはMVCパターンをサポートしていませんが、SwingはMVCパターンをサポートしています。これは、AWTとSwingのもう1つの違いです。

メモリスペース

パッケージ

プログラマーは、AWTベースのGUIを開発するためにjavax.awtパッケージをインポートする必要があります。ただし、プログラマーはSwingアプリケーションを作成するためにjavax.swingパッケージをインポートする必要があります。

結論

簡単に言うと、AWTとSwingは、豊富なグラフィカルユーザーインターフェイス(GUI)を構築するための2つのツールキットです。 JavaでのAWTとSwingの主な違いは、AWTがJavaの元のプラットフォーム依存のウィンドウ、グラフィックス、およびユーザーインターフェイスウィジェットツールキットであるのに対し、SwingはAWTの拡張であるJava用のGUIウィジェットツールキットであるということです。

リファレンス:

1.「AWTの概要」。 Www.tutorialspoint.com、ここから入手可能2。 「SWINGの概要」。 Www.tutorialspoint.com、こちらから入手可能3。 「Swing(Java)」。ウィキペディア、ウィキメディア財団、2018年6月9日、こちらから入手可能4。 「AbstractWindowToolkit」。ウィキペディア、ウィキメディア財団、2018年8月26日、こちらから入手できます。

画像提供:

1.「JavaSwingsWikibook、イベント処理、例1のスクリーンショット」Samwilson著– Commons Wikimediaによる自作(CC BY-SA 3.0)

JavaでのAWTとSwingの違いは何ですか