- 既知のすべての実装クラス:
DefaultFocusManager
,DefaultKeyboardFocusManager
,FocusManager
,KeyboardFocusManager
- 関数型インタフェース:
- これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。
KeyboardFocusManager自体がKeyEventDispatcherを実装します。 デフォルトで、現在のKeyboardFocusManagerは、登録されたKeyEventDispatchersによりディスパッチされないすべてのKeyEventsのシンクになります。 現在のKeyboardFocusManagerはKeyEventDispatcherとしての登録を完全に解除することはできません。 ただし、KeyEventDispatcherが実際にディスパッチしたかどうかにかかわらずKeyEventをディスパッチしたことを報告する場合は、KeyboardFocusManagerはKeyEventに関してそれ以上の処理は行いません (クライアント・コードは、現在のKeyboardFocusManagerをKeyEventDispatcherとして1回以上登録することは可能ですが、通常これは不要であり、お薦めできません)。
-
メソッドのサマリー
修飾子と型メソッド説明boolean
このメソッドは、現在のKeyboardFocusManagerによって呼び出され、このKeyEventDispatcherがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。
-
メソッドの詳細
-
dispatchKeyEvent
boolean dispatchKeyEvent(KeyEvent e)このメソッドは、現在のKeyboardFocusManagerによって呼び出され、このKeyEventDispatcherがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。 このKeyEventDispatcherは自由にイベントのターゲットの再指定、イベントの消費、イベント自体のディスパッチ、またはその他の変更を行うことができます。 通常、この機能はKeyEventsをフォーカスの所有者以外のComponentsに送信するために使用されます。 これは、たとえばアクセス可能な環境においてフォーカス不可能なWindowsの子をナビゲートするときに役に立ちます。 KeyEventDispatcherがKeyEvent自体をディスパッチする場合は、redispatchEvent
を使用して、現在のKeyboardFocusManagerがこのKeyEventDispatcherに再度イベントのディスパッチを再帰的に要求することを防ぐ必要があります。このメソッドの実装が
false
を返す場合、KeyEventはチェーンの次のKeyEventDispatcherに渡され、現在のKeyboardFocusManagerで終了します。 実装がtrue
を返す場合、KeyEventはディスパッチされたものと見なされ(実際にディスパッチされる必要はありません)、現在のKeyboardFocusManagerはKeyEventに関してこれ以上の処理を行いません。 このような場合、KeyboardFocusManager.dispatchEvent
は同様にtrue
を返します。 実装がKeyEventを消費するにもかかわらずfalse
を返す場合、消費されたイベントはなおチェーンの次のKeyEventDispatcherに渡されます。 開発者はKeyEventがターゲットにディスパッチされる前に消費されているかどうかをチェックすることが重要です。 デフォルトでは、現在のKeyboardFocusManagerは消費されたKeyEventをディスパッチすることはありません。- パラメータ:
e
- ディスパッチするKeyEvent- 戻り値:
- KeyboardFocusManagerがKeyEventに関してこれ以上の処理を行わない場合は
true
、そうでない場合はfalse
- 関連項目:
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)
-