Abstract Window Toolkit

AWTの部品を使ったウィンドウの例

Abstract Window Toolkit (AWT) とは、Javaの独自のプラットフォーム非依存なウィンドウシステムグラフィックスユーザインタフェース (UI)、ウィジェット・ツールキットのことである。AWTは現在はJava Foundation Classes (JFC) に含まれ、Javaプログラム用グラフィカルユーザインタフェース (GUI) を提供する標準APIの一部となっている。

サン・マイクロシステムズは1995年にJavaを最初にリリースしたとき、AWTは、下層のネイティブなユーザインタフェース上に薄い抽象化レベルを提供した。例えば、AWTのチェックボックスを作成する際、AWTはチェックボックスを作成する下層のネイティブサブルーチンを直接呼び出していた。しかしながら、Microsoft Windowsのチェックボックスは、Mac OSや様々なUNIX互換OSにおけるチェックボックスとは厳密には同じではなかった。下層のネイティブなウィンドウツールキットに高度に忠実で、ネイティブなアプリケーションとのシームレスな統合を提供することから、アプリケーション開発者の中にはこのモデルを好む者もいる。言い換えれば、AWTを使って書かれたGUIプログラムは、Windows上で動作するときはネイティブなWindowsアプリケーションのような外観になるが、Mac上で動作するときはネイティブなApple Macintoshアプリケーションのような外観になる、などということである。しかしながら、アプリケーション開発者の中には、全てのプラットフォーム上で開発したアプリケーションが厳密に同じ外観であることを好むため、このモデルを嫌う者もいた。

J2SE 1.2では、SwingツールキットがAWTのウィジェットの大部分に取って代わった。よりリッチなUIウィジェットの集合を提供することに加えて、Swingは、OSの高レベルユーザインタフェースモジュールに依存するのではなく、(ローカルのグラフィックスサブシステムにおける低レベルのサブルーチンを呼び出すJava 2Dを使用した) 独自のウィジェットを描画する。Swingはアプリケーションのために、ネイティブのルック・アンド・フィール、またはすべてのウィンドウシステム上で同じ外観を持つクロスプラットフォームなルック・アンド・フィール (Java Look and Feel) を使用するオプションを提供する。

AWTはGUIイベントサブシステムとネイティブなウィンドウシステムと、Swingが頼る構造的な土台を提供するJavaアプリケーションとの間のインタフェースの中核の提供を継続する。 それは、サポートシステム上でシステムトレイにアクセスできるだけでなく、様々な基本レイアウトマネージャクリップボードドラッグ・アンド・ドロップを使用するデータ転送パッケージ、マウスやキーボードのような入力デバイスインタフェースをも提供する。

関連項目

外部リンク

ウィキブックスにJava関連の解説書・教科書があります。
  • AWT homepage
  • java.awt (AWT Javadoc API documentation)
  • AWT documentation
  • Drag and Drop documentation
プラットフォーム
オラクルのテクノロジー
プラットフォーム技術
主なサードパーティ技術
歴史
主要なJVM言語
コミュニティ
カンファレンス
組織
人物
  • カテゴリ カテゴリ
  • コモンズ コモンズ
  • ポータル Portal:コンピュータ
低レベル
高レベル
AmigaOS対応
  • BOOPSI(英語版)
  • Magic User Interface(英語版)
  • ReAction GUI(英語版)
  • Zune(英語版)
Mac OS/macOS対応
  • Cocoa (API)
  • MacApp(英語版)
  • MacZoop(英語版)
  • PowerPlant(英語版)
Windows対応
X11下のUnix対応
  • Athena/Xaw(英語版)
  • InterViews(英語版)
  • LessTif
  • Motif
言語別
クロスプラットフォーム
CLI
  • Gtk#
  • Moonlight(英語版)
  • Tao(英語版)
C/C++
  • CEGUI(英語版)
  • Component Library for Cross Platform
  • FLTK
  • FOX toolkit(英語版)
  • OpenGL User Interface Library(英語版)
  • GTK
  • Juce(英語版)
  • Qt
  • Wt(英語版)
  • Tk
  • TnFOX(英語版)
  • Ultimate++(英語版)
  • Visual Component Framework(英語版)
  • wxWidgets
  • YAAF(英語版)
  • XForms
  • XVT(英語版)
Objective-C
Flash
Java
デスクトップ
ウェブ
JavaScript
Common Lisp
Object Pascal
Perl
  • WxPerl(英語版)
  • Perl/Tk
PHP
  • PHP-GTK(英語版)
  • PHP-Qt(英語版)
  • WxPHP(英語版)
Python
Ruby
  • Shoes
  • QtRuby(英語版)
XML
  • Ample SDK(英語版)
  • CougarXML(英語版)
  • GladeXML
  • Lively Kernel(英語版)
  • Pyjamas(英語版)
  • Rialto Toolkit(英語版)
  • XAML
  • XML User Interface(英語版)
  • XUL
  • Wt(英語版)
  • 一覧記事一覧(英語版)
  • カテゴリカテゴリ

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。