イベント・セットは、イベントのタイプ、イベントの通信内容、およびイベントの生成およびリスニングに必要なものを定義します。イベント・セットは次のもので構成されます。
インタフェースは、このタイプのイベントを受信するクラスで実装する必要がある1つ以上のメソッドを定義します。通常、メソッドは1つ以上のパラメータ(イベント・オブジェクト)を取得します。
イベント・オブジェクトは、実際にはソースからリスナーに渡されます。イベント・オブジェクトには、イベント・ソースの起点など、リスナーに関連する必要なすべてのパラメータが含まれます。すべてのイベントは、java.util.EventObject
から導出されます。
add<Event>Listener
メソッドおよびremove<Event>Listener
メソッド)は、この特定のイベントへの関連を登録するすべてのコンポーネントをコンポーネントで管理できるようにします。
これらのメソッドは、1つのパラメータ(イベントのリスニングに関連するオブジェクト)を取得します。定義では、オブジェクトは<Event>
Listener
インタフェースを実装する必要があります。
java.awt
パッケージは、フォーカス・イベント、マウス・イベント、マウス移動イベント、キー・イベントなど、複数の事前定義済イベント・セットを提供します。これらのイベント・セットには、<Event>
Listener
インタフェースおよびイベント・オブジェクトの両方が含まれます。
たとえば、キー・イベントを考えてみます。キー・イベント・セットには、KeyListener
インタフェース(keyPressed()
、keyReleased()
およびkeyTyped()
メソッドを定義)およびKeyEvent
クラスが含まれます。キー・イベントを生成するコンポーネントは、addKeyListener()
およびremoveKeyListener()
登録メソッドを定義する必要があります。
キー・イベントの例では、命名パターン規則に注意してください。イベント名Keyは、リスナー・インタフェース、イベントのメソッド(オプション)、イベント・オブジェクトおよび登録メソッドに表示されます。作成するすべてのイベント・セットについてこの同じ命名パターンを使用します。
通常、キー・イベント・セットなどの事前定義済イベント・セットは、プログラミングのニーズに十分に対応していますが、必要に応じて独自のイベント・セットを作成することもできます。
コンポーネントでイベントを生成するには、イベント・セット、イベント・オブジェクトおよびイベント登録メソッドを定義して、イベントへの関連を登録する他のコンポーネントにイベントの起動を通知できるようにする必要があります。
標準のJavaBeansイベントは、一連のJavaインタフェースにグループ化され、ソース・ファイル名に含まれるListenerという語(KeyListener.java
など)によって識別できます。標準のJavaBeansイベントはすべて、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, 2007, Oracle. All rights reserved.