Deep Side of Java〜Java 言語再入門 第4回 〜 アプレット、スレッド、AWT

AWTの使い方

AWTとオブジェクト指向






AWTの使い方

AWTとオブジェクト指向

GUIツールキットはどんなツールキットでも、いわゆる「イベント駆動型プログラミング」であり、基本的なラインは共通する。つまり、

  1. 「初期化」によってさまざまなWidgetを階層構造をもって作成する。この場合の階層構造とは、単に「あるWidgetの中に別なWidgetがある」という程度の話である。

  2. 作成したWidgetにアプリケーション固有の「プロパティ」を与える。たとえば表示文字、表示色、背景色などが「プロパティ」に当る。

  3. 多少配置などを気にするのなら、実際の表示のレイアウトに関する「戦略」を与える。この具体的な方法に関してはツールキットの間での処理の差が一番激しい。

  4. それらのWidgetの中で、何かのアクション(マウスによるクリック・キーボードによる入力)を処理するものがあれば、それらのアクションが起きた時に実行される処理を与える。非オブジェクト指向言語の場合には、コールバック関数を渡すことになる。

  5. 現実のウィンドウとして「マップ」し可視化する。これで「初期化」が終る。

  6. あとは「イベントループ」に入り、独自には何の処理もしない。つまり、非同期に何かのアクションに応じた処理をしていくだけで、積極的な処理はせず、ウィンドウ自体の破棄に至るまで、単純に「イベント」を処理し続ける。

しかし、Java はオブジェクト指向言語であり、それぞれのWidgetが個別のカスタマイズされた(継承された)クラスとして作られる。そのために、これらの初期化処理は、それぞれのWidgetを表すクラスの中で定義されて、処理されて行くことになる。つまり、さまざまな初期化処理は、基本的にそのクラスの中だけで完結させて書いて行くことができるのである。これは可読性を上げる良い方法論である。

このウィンドウシステムの処理の詳細については、「Super Technique 講座〜Xプログラミング入門」を参照すると良いだろう。



copyright by K.Sugiura, 1996-2006