ウィンドウ上のアプリケーションでは、
従来のプログラムとは少し違ったプログラミング・スタイルが要求されます。
プログラムの各処理は呼び出される順序を、あらかじめ予測することができません。
ユーザーの「気まぐれな」操作に依存するからです。
ユーザーからの入力のことを「イベント」という概念で取り扱います。
そのため上のプログラミング・スタイルは、
「イベント駆動型」と呼ばれます。
JDK1.0では、イベントを扱うために
Eventクラス
が用意されています。
このクラスには、イベントの種類を始めとして、
イベントの発生したオブジェクト、イベントの発生時刻など、
さまざまな情報が記憶されます。
マウスやキーボードなどの入力処理だけでなく、
グラフィック表示に関しても特別な配慮が必要です。
ユーザーの操作によって、画面上のウィンドウの重なり合いやアイコン化、
アイコンからの復活などが予想できないタイミングで発生するからです。
これらの処理も一種の「イベント」として取り扱うのが普通です。
アプレットなどの Javaのウィンドウオブジェクトは、いずれも
paint()メソッドを用意し、画面の書き直しの要求が発生すると
自動的にその内容を描画し直すことができる仕組みになっています。