JavaでのAWTとSwingの違いは何ですか
目次:
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)