<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_77) on Fri Apr 22 13:46:46 UTC 2016 --> <title>EventDispatcher (JavaFX 8)</title> <meta name="date" content="2016-04-22"> <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="EventDispatcher (JavaFX 8)"; } } catch(err) { } //--> var methods = {"i0":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/EventDispatcher.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../deprecated-list.html">Deprecated</a></li> <li><a href="../../index-all.html">Index</a></li> <li><a href="../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../index.html?javafx/event/EventDispatcher.html" target="_top">Frames</a></li> <li><a href="EventDispatcher.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">javafx.event</div> <h2 title="Interface EventDispatcher" class="title">Interface EventDispatcher</h2> </div> <div class="contentContainer"> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public interface <span class="typeNameLabel">EventDispatcher</span></pre> <div class="block">An <code>EventDispatcher</code> represents an event dispatching and processing entity. It is used when an <code>Event</code> needs to be dispatched to the associated <code>EventTarget</code> through the <code>EventDispatchChain</code> specified by the target. Each <code>EventDispatcher</code> in the chain can influence the event path and the event itself. One <code>EventDispatcher</code> can appear in multiple chains. <p> The system defines two successive phases of event delivery. The first phase is called capturing phase and happens when when an event travels from the first element of the <code>EventDispatchChain</code> associated with the event target to its last element. If the event target is part of some hierarchy, the direction of the event in this phase usually corresponds with the direction from the root element of the hierarchy to the target. The second phase is called bubbling phase and happens in the reverse order to the first phase. So the event is returning back from the last element of the <code>EventDispatchChain</code> to its first element in this phase. Usually that corresponds to the direction from the event target back to the root in the event target's hierarchy. <p> Each <code>EventDispatcher</code> in an <code>EventDispatchChain</code> is responsible for forwarding the event to the rest of the chain during event dispatching. This forwarding happens in the <code>dispatchEvent</code> method and forms a chain of nested calls which allows one <code>EventDispatcher</code> to see the event during both dispatching phases in a single <code>dispatchEvent</code> call. <p> Template for <code>dispatchEvent</code> implementation. <PRE> 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; </PRE> }</div> <dl> <dt><span class="simpleTagLabel">Since:</span></dt> <dd>JavaFX 2.0</dd> </dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code><a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/event/EventDispatcher.html#dispatchEvent-javafx.event.Event-javafx.event.EventDispatchChain-">dispatchEvent</a></span>(<a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a> event, <a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a> tail)</code> <div class="block">Dispatches the specified event by this <code>EventDispatcher</code>.</div> </td> </tr> </table> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="dispatchEvent-javafx.event.Event-javafx.event.EventDispatchChain-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>dispatchEvent</h4> <pre><a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a> dispatchEvent(<a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a> event, <a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a> tail)</pre> <div class="block">Dispatches the specified event by this <code>EventDispatcher</code>. Does any required event processing. Both the event and its further path can be modified in this method. If the event is not handled / consumed during the capturing phase, it should be dispatched to the rest of the chain (<code>event = tail.dispatch(event);</code>).</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>event</code> - the event do dispatch</dd> <dd><code>tail</code> - the rest of the chain to dispatch event to</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the return event or <code>null</code> if the event has been handled / consumed</dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/EventDispatcher.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../deprecated-list.html">Deprecated</a></li> <li><a href="../../index-all.html">Index</a></li> <li><a href="../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../index.html?javafx/event/EventDispatcher.html" target="_top">Frames</a></li> <li><a href="EventDispatcher.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><small><a href="https://docs.oracle.com/javase/8/docs/legal/cpyr.html">Copyright</a> (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.</small></small></p> </body> </html>