JavaTM Platform
Standard Ed. 6

java.awt
インタフェース KeyEventDispatcher

既知の実装クラスの一覧:
DefaultFocusManager, DefaultKeyboardFocusManager, FocusManager, KeyboardFocusManager

public interface KeyEventDispatcher

KeyEventDispatcher は、すべての KeyEvents のターゲット指定とディスパッチに関して現在の KeyboardFocusManager と協力します。現在の KeyboardFocusManager によって登録された KeyEventDispatchers は、それぞれのターゲットにディスパッチされる前に KeyEvents を受け取ります。 これにより、各 KeyEventDispatcher はイベントのターゲットの再指定、消費、イベント自体のディスパッチ、またはその他の変更を行うことができます。

KeyboardFocusManager 自体が KeyEventDispatcher を実装することに注意してください。デフォルトで、現在の KeyboardFocusManager は、登録された KeyEventDispatchers によりディスパッチされないすべての KeyEvents のシンクになります。現在の KeyboardFocusManager は KeyEventDispatcher としての登録を完全に解除することはできません。ただし、KeyEventDispatcher が実際にディスパッチしたかどうかにかかわらず KeyEvent をディスパッチしたことを報告する場合は、KeyboardFocusManager は KeyEvent に関してそれ以上の処理は行いません(クライアントコードは、現在の KeyboardFocusManager を KeyEventDispatcher として 1 回以上登録することは可能ですが、通常これは不要であり、お勧めできません)。

導入されたバージョン:
1.4
関連項目:
KeyboardFocusManager.addKeyEventDispatcher(java.awt.KeyEventDispatcher), KeyboardFocusManager.removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

メソッドの概要
 boolean dispatchKeyEvent(KeyEvent e)
          このメソッドは、現在の 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)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。