next up previous contents
Next: java.awt.AWTEventMulticaster クラス Up: JDK1.1のイベント・モデル Previous: Naming rulesのまとめ

イベントの送り出しとメソッドの呼び出し

今まで見てきたようにAWTクラス内のイベントを利用 するような場合には、すぐ後で見るAWTEventMulticaster クラスの働きによって、 意識する必要は無かったのですが、 JDK1.1で導入されたイベント・モデルでは、新しく定義されたイベントについ て、Listenerの登録、 イベント・オブジェクトの送り出しの処理を、イベン トの発生側で行わなければなりません。 AWTのイベント以外にもイベントを拡大しようとする時には、 登録されたすべてのListenerに、自前でイベントを届けなければなりません。

イベントの配達は、登録されたListener全てに対して、Listenerで定義されている メソッドを呼び出すという形で行われます。もちろん、これも、送り手の仕事です。 Listenerの登録場所、すなわち、イベント送り先の記憶場所としては、Vectorや Hashtableを、 使うことが多いのですが、まったく異なるやり方も可能です。 呼び出されるメソッドは、何でもいいのですが、一つ約束があります。 それは、このメソッドの引数が一つだけであり、かつ、その引数は、java.util パッケージで定義されているEventObjectクラスを拡大したものでなければならないと いうことです。



maruyama@wakhok.ac.jp