イベントリスナー (EventListener)
イベントリスナーの種類
すべてのイベントのリスナーインターフェイス (listener interface) は、java.util.EventListenerインターフェイスから派生しています。インターフェイス java.util.EventListener の使用 (Java Platform SE 7)
java.awt.datatransferパッケージ
インターフェイス |
説明 |
FlavorListener |
FlavorEventを待機するリスナーオブジェクトを定義する。 |
java.awt.dndパッケージ
インターフェイス |
説明 |
DragGestureListener |
このインターフェイスはDragGestureRecognizerをソースとし、その (サブ) クラスのオブジェクトがドラッグ開始ジェスチャーを検出したときに呼び出される。 |
DragSourceListener |
DragSourceListenerは、ドラッグ&ドロップ操作に関するオリジネータのイベントインターフェイスを定義して、ユーザーのジェスチャーの状態を監視したり、ドラッグ&ドロップ操作全体の最適な「ドラッグオーバー」フィードバックをユーザーに提供する。 |
DragSourceMotionListener |
ドラッグ操作中のマウスモーションイベントを受け取るためのリスナーインターフェイス。 |
DropTargetListener |
DropTargetListenerインターフェイスは、対象のDropTargetを含むDnD操作の通知をDropTargetクラスが提供するのに使うコールバックインターフェイス。 |
java.awt.eventパッケージ
インターフェイス |
説明 |
ActionListener |
アクションイベントを受け取るためのリスナーインターフェイス。 |
AdjustmentListener |
調整イベントを受け取るためのリスナーインターフェイス。 |
AWTEventListener |
ComponentやMenuComponent、またはそれらのサブクラスのインスタンスであるオブジェクトにディスパッチされるイベントの通知を受信するためのリスナーインターフェイス。 |
ComponentListener |
コンポーネントイベントを受け取るためのリスナーインターフェイス。 |
ContainerListener |
コンテナイベントを受け取るためのリスナーインターフェイス。 |
FocusListener |
コンポーネント上のキーボードフォーカスイベントを受け取るためのリスナーインターフェイス。 |
HierarchyBoundsListener |
移動およびサイズ変更された上位クラスのイベントを受け取るためのリスナーインターフェイス。 |
HierarchyListener |
階層変更イベントを受け取るためのリスナーインターフェイス。 |
InputMethodListener |
インプットメソッドイベントを受け取るためのリスナーインターフェイス。 |
ItemListener |
項目イベントを受け取るためのリスナーインターフェイス。 |
KeyListener |
このリスナーは、キーボードイベント (キーストローク) を受け取るためのインターフェイス。 |
MouseListener |
コンポーネント上の「関連する」マウスイベント (プレス、リリース、クリック、コンポーネントへの出入り) を受け取るためのリスナーインターフェイス。 |
MouseMotionListener |
コンポーネント上のマウスモーションイベントを受け取るためのリスナーインターフェイス。 |
MouseWheelListener |
コンポーネント上のマウスホイールイベントを受け取るためのリスナーインターフェイス。 |
TextListener |
テキストイベントを受け取るためのリスナーインターフェイス。 |
WindowFocusListener |
WindowEventsを受け取るためのリスナーインターフェイス。 |
WindowListener |
ウィンドウイベントを受け取るためのリスナーインターフェイス。 |
WindowStateListener |
ウィンドウの状態イベントを受け取るためのリスナーインターフェイス。 |
java.beansパッケージ
インターフェイス |
説明 |
PropertyChangeListener |
PropertyChangeイベントは、Beanが「バウンド」プロパティーを変更するたびにトリガーされる。 |
VetoableChangeListener |
VetoableChangeイベントは、Beanが「制約」プロパティーを変更するたびにトリガーされる。 |
java.beans.beancontextパッケージ
インターフェイス |
説明 |
BeanContextMembershipListener |
仕様に準拠して実装されたBeanContextは、BeanContextのメンバーの状態が変更されたときにこのインターフェイスのイベントをトリガーする。 |
BeanContextServiceRevokedListener |
BeanContextServiceRevokedEventオブジェクトを受け取るためのリスナーインターフェイス。 |
BeanContextServices |
BeanContextServicesインターフェイスは、BeanContextChildオブジェクトが総称サービスを受けられるようにするための機構をBeanContextに提供する。 |
BeanContextServicesListener |
BeanContextServiceAvailableEventオブジェクトを受け取るためのリスナーインターフェイス。 |
java.util.prefsパッケージ
インターフェイス |
説明 |
NodeChangeListener |
設定ノード変更イベントを受け取るためのリスナー。 |
PreferenceChangeListener |
設定変更イベントを受け取るためのリスナー。 |
javax.imageio.eventパッケージ
インターフェイス |
説明 |
IIOReadProgressListener |
呼び出し側にイメージとサムネールの進捗の読み込みメソッドを通知する、ImageReader実装で使用されるインターフェイス。 |
IIOReadUpdateListener |
呼び出し側にイメージとサムネールのピクセル更新の読み込みメソッドを通知する、ImageReader実装で使用されるインターフェイス。 |
IIOReadWarningListener |
呼び出し側にイメージとサムネールの警告 (重大ではないエラー) の読み込みメソッドを通知する、ImageReader実装で使用されるインターフェイス。 |
IIOWriteProgressListener |
呼び出し側にイメージの進捗の書き込みメソッドを通知する、ImageWriter実装で使用されるインターフェイス。 |
IIOWriteWarningListener |
呼び出し側にイメージとサムネールの警告 (重大ではないエラー) の読み込みメソッドを通知する、ImageWriter実装で使用されるインターフェイス。 |
javax.managementパッケージ
インターフェイス |
説明 |
NotificationListener |
通知の受信を望むオブジェクトによって実装される必要がある。 |
NamespaceChangeListener |
名前空間の変更を対象とするリスナーが実装しなければならないメソッドを指定する。 |
NamingListener |
このインターフェイスは、NamingEventを処理するリスナー側インターフェイスのルート。 |
ObjectChangeListener |
OBJECT_CHANGEDのイベント型を持つNamingEventのリスナーが実装しなければならないメソッドを指定する。 |
javax.naming.ldapパッケージ
インターフェイス |
説明 |
UnsolicitedNotificationListener |
このインターフェイスは、UnsolicitedNotificationEventを処理するためのもの。 |
javax.net.sslパッケージ
インターフェイス |
説明 |
HandshakeCompletedListener |
このインターフェイスは、指定されたSSL接続上でSSLプロトコルのハンドシェークが完了したことを通知するクラスに実装する。 |
SSLSessionBindingListener |
このインターフェイスは、SSLSessionにバインドされているかどうかを認識する必要のあるオブジェクトに実装する。 |
javax.sound.midiパッケージ
インターフェイス |
説明 |
ControllerEventListener |
ControllerEventListenerインターフェイスは、要求した型のMIDI制御変更イベントの処理をSequencerが完了した時点で通知を受け取る必要のあるインスタンスのクラスが実装する。 |
MetaEventListener |
MetaEventListenerインターフェイスは、SequencerがMetaMessageの処理を完了した時点で通知を受け取る必要のあるインスタンスのクラスが実装する。 |
javax.sound.sampledパッケージ
インターフェイス |
説明 |
LineListener |
LineListenerインターフェイスを実装するクラスのインスタンスを登録して、ラインの状態が変化したときにイベントを受信できます。 |
javax.sqlパッケージ
インターフェイス |
説明 |
ConnectionEventListener |
PooledConnectionオブジェクトによって生成されたイベントが通知されるよう、登録するオブジェクト。 |
RowSetListener |
RowSetオブジェクトの有効期間中に重要なイベントが発生した場合に、通知を希望するコンポーネントによって実装されているインターフェイス。 |
StatementEventListener |
Statementプール内のPreparedStatementで発生したイベントの通知を受けるように、登録されているオブジェクト。 |
javax.swingパッケージ
インターフェイス |
説明 |
Action |
Actionインターフェイスは、同じ機能が複数のコントロールによってアクセスされる場合に、ActionListenerインターフェイスに対する便利な拡張機能を提供する。 |
javax.swing.eventパッケージ
インターフェイス |
説明 |
AncestorListener |
上位クラスリスナー。 |
CaretListener |
テキストコンポーネントのキャレット位置の変更リスナー。 |
CellEditorListener |
CellEditorListenerは、CellEditorでの変更を待機するオブジェクトのインターフェイスを定義する。 |
ChangeListener |
ChangeEventを待機するリスナーオブジェクトを定義する。 |
DocumentListener |
オブザーバがテキストドキュメントへの変更の通知を受け取るように登録するためのインターフェイス。 |
HyperlinkListener |
ハイパーリンクリスナー。 |
InternalFrameListener |
内部フレームイベントを受け取るためのリスナーインターフェイス。 |
ListDataListener |
リストデータリスナー。 |
ListSelectionListener |
リストの選択範囲の値が変更されたときに通知されるリスナー。 |
MenuDragMouseListener |
メニューでのマウスドラッグに関するリスナーを定義する。 |
MenuKeyListener |
メニューキーリスナー。 |
MenuListener |
メニューイベント用のリスナーを定義する。 |
MouseInputListener |
MouseListenerインターフェイスとMouseMotionListenerインターフェイスの両方のすべてのメソッドを実装するリスナー。 |
PopupMenuListener |
ポップアップメニューリスナー。 |
RowSorterListener |
RowSorterListenerは、RowSorterへの変更の通知を受ける。 |
TableColumnModelListener |
TableColumnModelListenerは、TableColumnModelでの変更を待機するオブジェクトのインターフェイスを定義する。 |
TableModelListener |
TableModelListenerは、TableModel内での変更を待機するオブジェクトのインターフェイスを定義する。 |
TreeExpansionListener |
ツリーがノードの展開または折りたたみを行なったときに通知を受けるリスナー。 |
TreeModelListener |
TreeModelでの変更を待機するオブジェクト用のインターフェイスを定義する。 |
TreeSelectionListener |
TreeSelectionModelの選択範囲が変更されたときに通知を受けるリスナー。 |
TreeWillExpandListener |
ツリーがノードの展開または折りたたみを行なったときに通知を受けるリスナー。 |
UndoableEditListener |
取り消し可能なオペレーションに関する情報が必要なクラスによって実装されるインターフェイス。 |
イベントリスナーの実装の解説
イベントリスナーの実装は難解なため、これを簡単な記述に書き換えてみます。
AWTのButtonオブジェクトが発生するアクションイベントを例に考えます。これは一般的に、
Button button = new Button();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
のような形式となります。これのイベントリスナーのインスタンスを、ローカルに定義するように書き換えます。
Button button = new Button();
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
};
button.addActionListener(listener);
ActionListenerのインスタンスは無名内部クラスとして定義されているため、これに名前を与えます。
Button button = new Button();
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
}
}
ActionListener listener = new MyActionListener();
button.addActionListener(listener);