ウィンドウプログラミングのスタイル

アプレットはウィンドウ・システムの上で実行されます。 ウィンドウ上のプログラムには独自なスタイルがありますから、 その理解が必要です。
ウィンドウ上のアプリケーションでは、 従来のプログラムとは少し違ったプログラミング・スタイルが要求されます。 プログラムの各処理は呼び出される順序を、あらかじめ予測することができません。 ユーザーの「気まぐれな」操作に依存するからです。 ユーザーからの入力のことを「イベント」という概念で取り扱います。 そのため上のプログラミング・スタイルは、 「イベント駆動型」と呼ばれます。
プログラムは、まずデータの生成など必要な準備を整え、 その後でイベントを受け付けるための無限ループに入ります。 目的のイベント、たとえば「マウスボタンのクリック」を検出すると それに応じてあらかじめ用意された処理、 たとえば「色の変更」などの処理が実行される仕組みになっています。 ちょうどレストランや喫茶店の仕事にを思い浮かべてください。 いつ来るかわからないお客さん(イベント)を待ち続け、 注文があった時にその注文に合った仕事をしなくてはいけません。 それぞれの仕事をあらかじめ「メニュー」として準備する点も同じです。
アプレットのような Javaのコンポーネントでは、 イベント処理のループは、そのための独立したスレッドが担当します。 したがって、プログラムの表面には「無限ループ」の形式は登場しません。 イベント処理のために呼び出されるメソッドの内容を定義するだけで 目的の処理を行うことができます。

JDK1.0では、イベントを扱うために Eventクラス が用意されています。 このクラスには、イベントの種類を始めとして、 イベントの発生したオブジェクト、イベントの発生時刻など、 さまざまな情報が記憶されます。

マウスやキーボードなどの入力処理だけでなく、 グラフィック表示に関しても特別な配慮が必要です。 ユーザーの操作によって、画面上のウィンドウの重なり合いやアイコン化、 アイコンからの復活などが予想できないタイミングで発生するからです。 これらの処理も一種の「イベント」として取り扱うのが普通です。 アプレットなどの Javaのウィンドウオブジェクトは、いずれも paint()メソッドを用意し、画面の書き直しの要求が発生すると 自動的にその内容を描画し直すことができる仕組みになっています。