イベント・セットは、イベントのタイプ、イベントで伝える内容、イベントの生成とリスニングに必要な事項を定義します。イベント・セットは、次の内容で構成されています。
このインタフェースでは、このタイプのイベントを受け取るクラスで実装する必要のある1つ以上のメソッドを定義します。メソッドは通常、1つ以上のパラメータ(イベント・オブジェクト)を受け取ります。
イベント・オブジェクトは、実際にソースからリスナーに渡されます。イベント・オブジェクトには、元のイベント・ソースを含む、リスナーに関係のある必要なすべてのパラメータが含まれています。すべてのイベントはjava.util.EventObject
から導出されます。
add<Event>Listener
およびremove<Event>Listener
メソッド)により、コンポーネントでは、この特定のイベントに登録するすべてのコンポーネントを管理できます。
これらのメソッドは、1つのパラメータ(イベントのリスニングに関係するオブジェクト)を受け取ります。定義により、オブジェクトは<Event>Listener
インタフェースを実装する必要があります。
java.awt
パッケージには、フォーカス・イベント、マウス・イベント、マウス動作イベント、キー・イベントなど、いくつかの定義済イベント・セットが用意されています。これらのイベント・セットには、<Event>Listener
インタフェースおよびイベント・オブジェクトの両方が含まれています。
たとえば、キー・イベントについて考えてみます。キー・イベント・セットには、keyPressed()
、keyReleased()
およびkeyTyped()
を定義するKeyListener
インタフェースとKeyEvent
クラスが含まれています。キー・イベントを生成するコンポーネントは、addKeyListener()
およびremoveKeyListener()
登録メソッドを定義する必要があります。
キー・イベントの例では、ネーミング・パターン規則に注意してください。Keyというイベント名は、リスナー・インタフェース、そのメソッド(オプション)、イベント・オブジェクトおよび登録メソッドにも使用されています。これと同じネーミング・パターンを、作成するすべてのイベント・セットに適用してください。
通常、キー・イベント・セットなどの定義済イベント・セットで、十分プログラミングは可能です。ただし、必要であれば、独自のイベント・セットを作成することもできます。
コンポーネントでイベントを生成するには、イベント・セット、イベント・オブジェクトおよびイベント登録メソッドを定義し、登録対象の他のコンポーネントにイベントの起動を通知できるようにする必要があります。
標準のJavaBeansイベントは、一連のJavaインタフェースにグループ化されています。これらのイベントは、たとえばKeyListener.java
のように、ソース・ファイル名の一部のListenerという語によって識別できます。これらのイベントはすべて、java.util.EventListener
を拡張します。Javaでは、イベント・リスナーをインタフェースとして定義するため、これらのイベントに応答を実装できます。次のコードは、KeyListener.java
ソース・ファイルのコードの一部です。
public interface KeyListener extends EventListener
{
void keyTyped(KeyEvent e); // a key is pressed and released
void keyPressed(KeyEvent e); // a key is pressed
void keyReleased(KeyEvent e); // a key is released
// end of code example
KeyListener
インタフェースでは、Javaコンポーネントでリスニングできるキーボード・イベントの全タイプが定義されています。キー・イベントのタイプごとに、異なるメソッドがインタフェース内にあります。たとえば、キーを押したときに発生するイベントのkeyPressed()
メソッド、キーを放したときに発生するイベントのkeyReleased()
メソッドがあります。
Copyright © 1997, 2004, Oracle. All rights reserved.