@FunctionalInterface public interface KeyEventDispatcher
KeyboardFocusManager自体がKeyEventDispatcherを実装します。デフォルトで、現在のKeyboardFocusManagerは、登録されたKeyEventDispatchersによりディスパッチされないすべてのKeyEventsのシンクになります。現在のKeyboardFocusManagerはKeyEventDispatcherとしての登録を完全に解除することはできません。ただし、KeyEventDispatcherが実際にディスパッチしたかどうかにかかわらずKeyEventをディスパッチしたことを報告する場合は、KeyboardFocusManagerはKeyEventに関してそれ以上の処理は行いません(クライアント・コードは、現在のKeyboardFocusManagerをKeyEventDispatcherとして1回以上登録することは可能ですが、通常これは不要であり、お薦めできません)。
修飾子と型 | メソッドと説明 |
---|---|
boolean |
dispatchKeyEvent(KeyEvent e)
このメソッドは、現在のKeyboardFocusManagerによって呼び出され、このKeyEventDispatcherがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。
|
boolean dispatchKeyEvent(KeyEvent e)
redispatchEvent
を使用して、現在のKeyboardFocusManagerがこのKeyEventDispatcherに再度イベントのディスパッチを再帰的に要求することを防ぐ必要があります。
このメソッドの実装がfalse
を返す場合、KeyEventはチェーンの次のKeyEventDispatcherに渡され、現在のKeyboardFocusManagerで終了します。実装がtrue
を返す場合、KeyEventはディスパッチされたものと見なされ(実際にディスパッチされる必要はありません)、現在のKeyboardFocusManagerはKeyEventに関してこれ以上の処理を行いません。このような場合、KeyboardFocusManager.dispatchEvent
は同様にtrue
を返します。実装がKeyEventを消費するにもかかわらずfalse
を返す場合、消費されたイベントはなおチェーンの次のKeyEventDispatcherに渡されます。開発者はKeyEventがターゲットにディスパッチされる前に消費されているかどうかをチェックすることが重要です。デフォルトでは、現在のKeyboardFocusManagerは消費されたKeyEventをディスパッチすることはありません。
e
- ディスパッチするKeyEventtrue
、そうでない場合はfalse
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.