Java SE Desktopは、リッチ・クライアント・アプリケーションおよびアプレットの作成に使用するいくつかのテクノロジで構成されています。図9-1に示すように、デスクトップ・ツールおよびライブラリは、Javaアプリケーションとプラットフォーム上のコア・ツールおよびライブラリとの間のインタフェースを提供します。
Java SEで使用可能なすべてのデスクトップ・テクノロジの詳細は、Java SE Desktopの概要ドキュメントを参照してください。
このトピックでは、次のJava SE Desktopテクノロジのトラブルシューティング手法について説明します。
Abstract Window Toolkit (AWT)は、メニュー、ボタン、テキスト・フィールド、ダイアログ・ボックス、チェックボックスなどのグラフィカル・ユーザー・インタフェース(GUI)コンポーネントを構築し、それらのコンポーネントからのユーザー入力を処理するための一連のアプリケーション・プログラミング・インタフェース(API)を提供しています。また、AWTを使用すると、楕円や多角形などの簡単な図形をレンダリングしたり、アプリケーションで使用するインタフェースのレイアウトやフォントを開発者が制御したりすることもできます。さらに、ネイティブ・プラットフォームのクリップボードを介したカット・アンド・ペーストを可能にするデータ転送クラス(ドラッグ・アンド・ドロップを含む)も含まれています。
このAPIのクラスはソフトウェア・スタックの最下部(ベースとなるオペレーティング・システムやデスクトップ・システムにもっとも近い位置)にあります。
AWTは一連の重量コンポーネントも提供します。
純粋なAWTアプリケーションは通常、Swingに関係しません。AWTアプリケーションでカスタム・レンダリングを行う場合は、Java 2Dが使用されます。
AWTの詳細は、AWTドキュメントを参照してください。
Java 2Dは、2次元の高度なグラフィックスとイメージングを処理する一連のクラスです。ライン・アート、テキスト、およびイメージが、1つの総合モデルの中に含まれています。このAPIは、イメージの合成とアルファ・チャンネル・イメージ、正確な色空間の定義と変換用のクラス・セット、および表示用イメージング演算子の豊富なセットを幅広くサポートします。java.awt
およびjava.awt.image
パッケージに追加した形で提供されます。
AWTと同様に、Java 2Dもソフトウェア・スタックの最下部(ベースとなるオペレーティング・システムやデスクトップ・システムにもっとも近い位置)にあります。
Java 2Dの詳細は、Java 2Dドキュメントを参照してください。
Swingは、商用品質のデスクトップおよびインターネット/イントラネット・アプリケーションの開発を可能にする包括的な一連のGUIコンポーネントおよびサービスを提供します。
Swingは、他の多くのJava SE Desktopテクノロジ(AWT、Java2D、および国際化など)の上部に構築されています。ほとんどの場合、AWTのコンポーネントではなくSwingの上位レベル・コンポーネントの使用が推奨されます。ただし、AWTには、Swingでのプログラミング時に理解しておくことが重要なAPIが多数含まれています。
Swingは軽量ツールキットなので、ネイティブ・プラット・フォームとの対話処理はほとんどありません。SwingはレンダリングにJava 2Dを使用し、AWTがWindow、Frame、Dialogなどのトップレベル・コンポーネントの作成および操作機能を提供します。
Swingの詳細は、Swingドキュメントを参照してください。
国際化とは、簡単でコスト効率よく、とりわけソフトウェアの技術的な変更をせずに、ソフトウェアを様々な言語および地域に適合(ローカライズ)できるようにするためのソフトウェア設計プロセスのことです。ローカライズを行うには、翻訳されたテキスト、ロケール固有の動作を記述するデータ、フォント、入力方式など、ロケール固有のコンポーネントを追加するだけです。
Java SEでは、言語や文化に依存する機能を提供するクラスやパッケージに国際化サポートが完全に組み込まれています。
Java SEの国際化APIおよび機能の詳細は、国際化のドキュメントを参照してください。
Java Soundは、拡張可能かつ柔軟なフレームワークにおける、オーディオの再生や取込み(録音)、ミキシング、MIDI(Musical Instrument Digital Interface)シーケンス、MIDI合成といったオーディオ操作の下位レベルのサポートを提供します。このAPIは、このプラットフォームでの高品質なオーディオ・ミキシングおよびMIDI合成を保証する効果的なサウンド・エンジンによってサポートされています。
Java Soundの詳細は、Java Soundドキュメントを参照してください。
Java Plug-inは、一般的なWebブラウザをJavaプラットフォームに接続することで、それらのブラウザの機能を拡張します。この接続により、Webサイト上のJavaアプレットをデスクトップ上のWebブラウザ内で実行できます。
Java Plug-inの詳細は、Java Plug-inとアプレットのアーキテクチャのドキュメントを参照してください。
これらのテクノロジ間の関係の理解が深まるほど、問題が属する分野をすばやく特定できるようになります。