Java UI の概説 |
このプログラム例 では AWT クラスから継承する 2 つのクラスを定義しているほか、 データを格納するクラスも定義している。 ただし、プログラムにあるオブジェクトの大部分は AWT クラスのインスタンスであ る。プログラム例で定義されているクラス
このプログラム例ではPanel サブク ラスである Converter と ConversionPanel の 2 つと、Unit という名前の簡単なクラ スを定義している。Converter クラスはこのプログラム例の中核である。 このクラスはプログラムの main() メソッド (プログラムがアプリケーションとして 実行されるときに呼び出される) のほか、初期化と起動のコードを納めている。初期 化と起動のためのコードは、main() メソッドか、アプレットとしてそのプログラムをロー ドするアプリケーションから呼び出される。 Converter クラスは、Panel を直接拡張するのではなく、実際にはApplet クラスを拡張している (Applet クラス自体が Panel を拡張している) 。こうする必要が あるのは、すべてのアプレットは Applet サブクラスをもっていなければならないか らである。 しかし、このプログラム例はアプリケーションとしても実行できるので、Converter クラスはそれが Panel を拡張しているように動作しなければならない。これは、 Applet クラスはアプリケーションでは利用できない機能を提供するからである。
ConversionPanel クラスは、距離測定の特定のセットを示すためのすべての制御部品をまとめている。 このプログラム例は 2 つの ConversionPanel オブジェクトを作成するが、その 1 つはメートル法の距離測定用、もう 1 つは米国式の距離測定用である。
Unit クラスは、種類 (たとえば "センチメートル") と、1 メートル当たりの単位数 (たとえば 0.01) を表す乗数をまとめるオブジェクトを提供している。
プログラム例の AWT オブジェクト
このプログラム例は AWT パッケージによって提供されている、 LayoutManager、Container、および Component を使用している。 また、2 つの Inset オブジェクトと 2 つの GridBagConstraint オブジェクトの作 成も行なう。LayoutManag er は Container 内での Component のスクリーンでの配置を整えるオブジェクトで ある。このプログラム例は LayoutManager インタフェースに従う 3 つのオブジェクトを作 成する。 内訳は GridLayout 1 つと、2 つのGridBagLayo ut である。 GridLayout は Converter インスタンスにおいて Component の配置を管理する。 個々の ConversionPanel は GridBagLayout オブジェクトを使用してその Component を管理し、GridBa gConstraints オブジェクトを使用して各 Component の配置方法を指定する。
Converter と ConversionPanel オブジェクトのほかに、このプログラム例は Container をもう 1 つ作成する場合がある。具体的には、プログラムが (アプレットではなく) アプリケーションとして実行される場合に、Frame インスタ ンス (ウィンドウ) を作成する。
このプログラム例の非-Container のComponent はすべて、ConversionPanel によって作成される。 それぞれの ConversionPanel は AWT のLabel、Choice、TextField、Scrollbar の各クラスごとに 1 つのインスタンスを作成する。
Converter と ConversionPanel クラスはどちらも、スクリーンの部品と周囲のパ ディングを指定する、Insets インスタ ンスを作成する。
Java UI の概説