Abstract Window Toolkit (AWT) について
Abstract Window Toolkit (AWT) は、
Javaにおけるプラットフォーム非依存の
ウィンドウシステム、グラフィックス、ユーザーインターフェース(UI)を構築するためのツールキットです。これは、
Java Foundation Classes (JFC) の一部として提供され、
Javaプログラムでグラフィカルユーザーインターフェース (GUI) を作成するための標準APIとして機能します。
AWTの初期の役割
1995年に
サン・マイクロシステムズが
Javaを初めてリリースした際、AWTは下層のネイティブUI上に抽象化レイヤーを提供しました。例えば、AWTで
チェックボックスを作成する場合、AWTは直接ネイティブのサブルーチンを呼び出し、各OSの
チェックボックスを描画していました。このアプローチの利点は、アプリケーションが各プラットフォームでネイティブな外観を保ち、シームレスな統合が可能になることでした。WindowsではWindows風に、macOSではmacOS風に見えるGUIを提供しました。
しかし、全てのプラットフォームで同じ外観を保ちたいという開発者にとっては、このネイティブなルックアンドフィールは望ましくありませんでした。
SwingによるAWTの置き換え
J2SE 1.2以降、
SwingツールキットがAWTの多くのウィジェットを置き換えました。
Swingは、OSのUIに依存せず、独自のウィジェットを描画する能力を備えています。これにより、
Swingは、全てのプラットフォームで同じ外観を持つ
クロスプラットフォームなルックアンドフィール(
Java Look and Feel)を提供するだけでなく、ネイティブのルックアンドフィールも提供できる柔軟性を持っています。
現在のAWTの役割
SwingがGUIの主要な部分を担うようになった現在でも、AWTは重要な役割を果たしています。AWTは、GUIイベントサブシステムとネイティブな
ウィンドウシステムとの間のインターフェースを提供し、
Swingが動作するための基盤となっています。
具体的には、AWTは以下の機能を提供しています。
AWTは、
Swingが利用する基盤となるため、
Swingアプリケーションの開発においても依然として重要な役割を果たします。
SwingはAWTの上に構築されており、AWTのイベント処理や描画機能を拡張・利用しています。
関連技術
- - Swing: JavaのGUIツールキットで、AWTを基盤に、より豊富なUIコンポーネントを提供します。
- - Standard Widget Toolkit (SWT): Eclipseなどの開発に使用されている、別のGUIツールキットです。
- - ImageJ: AWTを利用した有名な画像解析ソフトウェアで、医療や天文分野で広く利用されています。
外部リンク
ライセンス情報
この記事は、2008年11月1日以前にFree On-line Dictionary of Computingから取得した情報を元に、GFDL バージョン1.3以降の「RELICENSING」条件に基づいて構成されています。