next up previous
: イベントとリスナーのクラス : イベントの取り扱い : イベントの取り扱い

イベント駆動型プログラム

これまでに作成してきたような,コンソールで実行される文字ベースのプログラムでは, プログラムが入力を必要とするときにプロンプトを表示して入力待ちの状態になれば良かっ たが,アプレットのようにグラフィックを利用したプログラムでは,ウィンドウが画面上 に表示されている間,常にキーボードやマウスからの入力を受け付ける必要がある.

このようなプログラムでは,ユーザからの入力などを イベントと呼び,これに応じ て動作するように作成する. これをイベント駆動型プログラム(もしくは''イベントドリブン:Event Driven'')と言 う.

イベント駆動型プログラムでは,イベントを監視しながら,なおかつ内部では計算などの 作業を行う必要があるため,文字ベースのプログラムに比べてプログラミングそのものが 非常に困難となる.

そこでJavaのアプレットでは,演習IVですでに学んだスレッドを用いて,これをシンプル に解決している. すなわち,専用の特殊なスレッドが常にイベントを監視し,イベントが発生した場合には, これに応じたメソッドを呼び出してくれるというものである. もし内部で別の作業を行う必要があるならば,それに割り当てるスレッドを新たに生成す れば良い.

イベントを監視するスレッドは,アプレットの開始時に自動的に開始されるので,プログ ラムを作成するときにはこれを意識する必要はない. このスレッドは,イベントが発生すると,これに対応する リスナーがアプレットに 備わっているかを調べ,備わっていればリスナーを呼び出す. このリスナーについては次の章で説明しよう.



U-GM\murao 平成14年7月5日