-
public interface EventDispatcher
EventDispatcher
は、イベント・ディスパッチおよび処理エンティティを表します。 これは、ターゲットによって指定されたEventDispatchChain
を介して、Event
を関連付けられたEventTarget
にディスパッチする必要がある場合に使用されます。 チェーン内の各EventDispatcher
は、イベント・パスおよびイベント自体に影響を及ぼすことができます。 1つのEventDispatcher
が複数のチェーンに出現する場合があります。システムではイベント配信の2つの連続したフェーズが定義されます。 最初のフェーズはキャプチャ・フェーズと呼ばれ、イベントがイベント・ターゲットに関連付けられた
EventDispatchChain
の最初の要素から最後の要素に移動するときに発生します。 イベント・ターゲットが階層の一部である場合、このフェーズのイベントの方向は、通常、階層のルート要素からターゲットへの方向に対応します。 2番目のフェーズはバブリング・フェーズと呼ばれ、最初のフェーズと逆の順序で発生します。 そのため、このフェーズでは、イベントはEventDispatchChain
の最後の要素から最初の要素に戻ります。 これは通常、イベント・ターゲットの階層でイベント・ターゲットからルートに戻る方向に対応します。EventDispatchChain
の各EventDispatcher
は、イベントのディスパッチ中にイベントを残りのチェーンに転送します。 この転送はdispatchEvent
メソッドで発生し、1つのEventDispatcher
が両方のディスパッチ・フェーズ中に単一のdispatchEvent
呼出しでイベントを参照できるようにする、ネストされた呼出しのチェーンを形成します。dispatchEvent
実装のテンプレート。public Event dispatchEvent(Event event, EventDispatchChain tail) { // capturing phase, can handle / modify / substitute / divert the event if (notHandledYet) { // forward the event to the rest of the chain event = tail.dispatchEvent(event); if (event != null) { // bubbling phase, can handle / modify / substitute / divert // the event } } return notHandledYet ? event : null;
}- 導入されたバージョン:
- JavaFX 2.0
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 Event
dispatchEvent(Event event, EventDispatchChain tail)
このEventDispatcher
によって指定されたイベントをディスパッチします。
-
-
-
メソッドの詳細
-
dispatchEvent
Event dispatchEvent(Event event, EventDispatchChain tail)
このEventDispatcher
によって指定されたイベントをディスパッチします。 必要なイベント処理を実行します。 イベントとその以降のパスの両方をこのメソッドで変更できます。 キャプチャ・フェーズ中にイベントが処理/消費されない場合、イベントを残りのチェーンにディスパッチする必要があります(event = tail.dispatch(event);
)。- パラメータ:
event
- ディスパッチを実行するイベントtail
- イベントをディスパッチする残りのチェーン- 戻り値:
- 戻りイベント、またはイベントが処理/消費された場合は、
null
-
-