Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-backports > by-pkgid > c2fa6b935fb44905dfd621cc358e02f8 > files > 516

java-1.8.0-openjfx-1.8.0.141-1.b14.1.mga5.i586.rpm

<!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_131) on Tue Jul 25 08:54:11 UTC 2017 -->
<title>Task (JavaFX 8)</title>
<meta name="date" content="2017-07-25">
<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="Task (JavaFX 8)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete 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/Task.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&nbsp;8</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../javafx/concurrent/Service.html" title="class in javafx.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javafx/concurrent/Task.html" target="_top">Frames</a></li>
<li><a href="Task.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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.concurrent</div>
<h2 title="Class Task" class="title">Class Task&lt;V&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.FutureTask</a>&lt;V&gt;</li>
<li>
<ul class="inheritance">
<li>javafx.concurrent.Task&lt;V&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;V&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableFuture</a>&lt;V&gt;, <a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;V&gt;, <a href="../../javafx/event/EventTarget.html" title="interface in javafx.event">EventTarget</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Task&lt;V&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true" title="class or interface in java.util.concurrent">FutureTask</a>&lt;V&gt;
implements <a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;V&gt;, <a href="../../javafx/event/EventTarget.html" title="interface in javafx.event">EventTarget</a></pre>
<div class="block"><p>
     A fully observable implementation of a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true" title="class or interface in java.util.concurrent"><code>FutureTask</code></a>. <code>Task</code> exposes
     additional state and observable properties useful for programming asynchronous
     tasks in JavaFX, as defined in the <a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent"><code>Worker</code></a> interface. An implementation
     of Task must override the <a href="../../javafx/concurrent/Task.html#call--"><code>call()</code></a> method. This method
     is invoked on the background thread. Any state which is used in this method
     must be safe to read and write from a background thread. For example, manipulating
     a live scene graph from this method is unsafe and will result in runtime
     exceptions.
 </p>
 <p>
     Tasks are flexible and extremely useful for the encapsulation of "work". Because
     <a href="../../javafx/concurrent/Service.html" title="class in javafx.concurrent"><code>Service</code></a> is designed to execute a Task, any Tasks defined by the application
     or library code can easily be used with a Service. Likewise, since Task extends
     from FutureTask, it is very easy and natural to use a Task with the java concurrency
     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><code>Executor</code></a> API. Since a Task is Runnable, you
     can also call it directly (by invoking the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#run--" title="class or interface in java.util.concurrent"><code>FutureTask.run()</code></a> method)
     from another background thread. This allows for composition of work, or pass it to
     a new Thread constructed and executed manually. Finally, since you can
     manually create a new Thread, passing it a Runnable, it is possible to use
     the following idiom:
     <pre><code>
         Thread th = new Thread(task);
         th.setDaemon(true);
         th.start();
     </code></pre>
     Note that this code sets the daemon flag of the Thread to true. If you
     want a background thread to prevent the VM from existing after the last
     stage is closed, then you would want daemon to be false. However, if
     you want the background threads to simply terminate after all the
     stages are closed, then you must set daemon to true.
 </p>
 <p>
     Although <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> defines several methods which
     take a Runnable, you should generally limit yourself to using the <code>execute</code>
     method inherited from <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><code>Executor</code></a>.
 </p>
 <p>
     As with FutureTask, a Task is a one-shot class and cannot be reused. See <a href="../../javafx/concurrent/Service.html" title="class in javafx.concurrent"><code>Service</code></a>
     for a reusable <a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent"><code>Worker</code></a>.
 </p>
 <p>
     Because the Task is designed for use with JavaFX GUI applications, it ensures
     that every change to its public properties, as well as change notifications
     for state, errors, and for event handlers, all occur on the main JavaFX application
     thread. Accessing these properties from a background thread (including the
     <a href="../../javafx/concurrent/Task.html#call--"><code>call()</code></a> method) will result in runtime exceptions being raised. The only exception
     to this, is when initially configuring a Task, which may safely be done
     from any thread. However, once the Task has been initialized and
     started, it may only thereafter be used from the FX thread (except for those methods clearly
     marked as being appropriate for the subclass to invoke from the background thread).
 </p>
 <p>
     It is <strong>strongly encouraged</strong> that all Tasks be initialized with
     immutable state upon which the Task will operate. This should be done by providing
     a Task constructor which takes the parameters necessary for execution of the Task.
     Immutable state makes it easy and safe to use from any thread and ensures
     correctness in the presence of multiple threads.
 </p>
 <p>
     In Java there is no reliable way to "kill" a thread in process. However,
     when <code>cancel</code> is called on a Task, it is important that
     the Task stop processing. A "run-away" Task might continue processing
     and updating the message, text, and progress properties even after the
     Task has been cancelled! In Java, cancelling a Task is a cooperative
     endeavor. The user of the Task will request that it be cancelled, and
     the author of the Task must check whether is has been cancelled within
     the body of the <code>call</code> method. There are two ways this can
     be done. First, the Task author may check the isCancelled method,
     inherited from <code>FutureTask</code>, to see whether the Task has
     been cancelled. Second, if the Task implementation makes use of any
     blocking calls (such as NIO InterruptibleChannels or Thread.sleep) and
     the task is cancelled while in such a blocking call, an
     InterruptedException is thrown. Task implementations which have blocking
     calls should recognize that an interrupted thread may be the signal for
     a cancelled task and should double check the isCancelled method to ensure
     that the InterruptedException was thrown due to the cancellation of the
     Task.
 </p>
 <h2>Examples</h2>
 <p>
     The following set of examples demonstrate some of the most common uses of
     Tasks.
 </p>

 <h3>A Simple Loop</h3>

 <p>
     The first example is a simple loop that does nothing particularly useful,
     but demonstrates the fundamental aspects of writing a Task correctly. This
     example will simply loop and print to standard out on each loop iteration.
     When it completes, it returns the number of times it iterated.
 </p>

 <pre><code>
     Task&lt;Integer&gt; task = new Task&lt;Integer&gt;() {
         &#64;Override protected Integer call() throws Exception {
             int iterations;
             for (iterations = 0; iterations &lt; 100000; iterations++) {
                 if (isCancelled()) {
                     break;
                 }
                 System.out.println("Iteration " + iterations);
             }
             return iterations;
         }
     };
 </code></pre>

 <p>
     First, we define what type of value is returned from this Task. In this
     case, we want to return the number of times we iterated, so we will
     specify the Task to be of type Integer by using generics. Then, within
     the implementation of the <code>call</code> method, we iterate from
     0 to 100000. On each iteration, we check to see whether this Task has
     been cancelled. If it has been, then we break out of the loop and return
     the number of times we iterated. Otherwise a message is printed to
     the console and the iteration count increased and we continue looping.
 </p>

 <p>
     Checking for isCancelled() in the loop body is critical, otherwise the
     developer may cancel the task, but the task will continue running
     and updating both the progress and returning the incorrect result
     from the end of the <code>call</code> method. A correct implementation
     of a Task will always check for cancellation.
 </p>

 <h3>A Simple Loop With Progress Notification</h3>

 <p>
     Similar to the previous example, except this time we will modify the
     progress of the Task in each iteration. Note that we have a choice
     to make in the case of cancellation. Do we want to set the progress back
     to -1 (indeterminate) when the Task is cancelled, or do we want to leave
     the progress where it was at? In this case, let's leave the progress alone
     and only update the message on cancellation, though updating the
     progress after cancellation is a perfectly valid choice.
 </p>

 <pre><code>
     Task&lt;Integer&gt; task = new Task&lt;Integer&gt;() {
         &#64;Override protected Integer call() throws Exception {
             int iterations;
             for (iterations = 0; iterations &lt; 10000000; iterations++) {
                 if (isCancelled()) {
                     updateMessage("Cancelled");
                     break;
                 }
                 updateMessage("Iteration " + iterations);
                 updateProgress(iterations, 10000000);
             }
             return iterations;
         }
     };
 </code></pre>

 <p>
     As before, within the for loop we check whether the Task has been
     cancelled. If it has been cancelled, we will update the Task's
     message to indicate that it has been cancelled, and then break as
     before. If the Task has not been cancelled, then we will update its
     message to indicate the current iteration and then update the
     progress to indicate the current progress.
 </p>

 <h3>A Simple Loop With Progress Notification And Blocking Calls</h3>

 <p>
     This example adds to the previous examples a blocking call. Because a
     blocking call may thrown an InterruptedException, and because an
     InterruptedException may occur as a result of the Task being cancelled,
     we need to be sure to handle the InterruptedException and check on the
     cancel state.
 </p>

 <pre><code>
     Task&lt;Integer&gt; task = new Task&lt;Integer&gt;() {
         &#64;Override protected Integer call() throws Exception {
             int iterations;
             for (iterations = 0; iterations &lt; 1000; iterations++) {
                 if (isCancelled()) {
                     updateMessage("Cancelled");
                     break;
                 }
                 updateMessage("Iteration " + iterations);
                 updateProgress(iterations, 1000);

                 // Now block the thread for a short time, but be sure
                 // to check the interrupted exception for cancellation!
                 try {
                     Thread.sleep(100);
                 } catch (InterruptedException interrupted) {
                     if (isCancelled()) {
                         updateMessage("Cancelled");
                         break;
                     }
                 }
             }
             return iterations;
         }
     };
 </code></pre>

 <p>
     Here we have added to the body of the loop a <code>Thread.sleep</code>
     call. Since this is a blocking call, I have to handle the potential
     InterruptedException. Within the catch block, I will check whether
     the Task has been cancelled, and if so, update the message accordingly
     and break out of the loop.
 </p>

 <h3>A Task Which Takes Parameters</h3>

 <p>
     Most Tasks require some parameters in order to do useful work. For
     example, a DeleteRecordTask needs the object or primary key to delete
     from the database. A ReadFileTask needs the URI of the file to be read.
     Because Tasks operate on a background thread, care must be taken to
     make sure the body of the <code>call</code> method does not read or
     modify any shared state. There are two techniques most useful for
     doing this: using final variables, and passing variables to a Task
     during construction.
 </p>

 <p>
     When using a Task as an anonymous class, the most natural way to pass
     parameters to the Task is by using final variables. In this example,
     we pass to the Task the total number of times the Task should iterate.
 </p>

 <pre><code>
     final int totalIterations = 9000000;
     Task&lt;Integer&gt; task = new Task&lt;Integer&gt;() {
         &#64;Override protected Integer call() throws Exception {
             int iterations;
             for (iterations = 0; iterations &lt; totalIterations; iterations++) {
                 if (isCancelled()) {
                     updateMessage("Cancelled");
                     break;
                 }
                 updateMessage("Iteration " + iterations);
                 updateProgress(iterations, totalIterations);
             }
             return iterations;
         }
     };
 </code></pre>

 <p>
     Since <code>totalIterations</code> is final, the <code>call</code>
     method can safely read it and refer to it from a background thread.
 </p>

 <p>
     When writing Task libraries (as opposed to specific-use implementations),
     we need to use a different technique. In this case, I will create an
     IteratingTask which performs the same work as above. This time, since
     the IteratingTask is defined in its own file, it will need to have
     parameters passed to it in its constructor. These parameters are
     assigned to final variables.
 </p>

 <pre><code>
     public class IteratingTask extends Task&lt;Integer&gt; {
         private final int totalIterations;

         public IteratingTask(int totalIterations) {
             this.totalIterations = totalIterations;
         }

         &#64;Override protected Integer call() throws Exception {
             int iterations = 0;
             for (iterations = 0; iterations &lt; totalIterations; iterations++) {
                 if (isCancelled()) {
                     updateMessage("Cancelled");
                     break;
                 }
                 updateMessage("Iteration " + iterations);
                 updateProgress(iterations, totalIterations);
             }
             return iterations;
         }
     }
 </code></pre>

 <p>And then when used:</p>

 <pre><code>
     IteratingTask task = new IteratingTask(8000000);
 </code></pre>

 <p>In this way, parameters are passed to the IteratingTask in a safe
 manner, and again, are final. Thus, the <code>call</code> method can
 safely read this state from a background thread.</p>

 <p>WARNING: Do not pass mutable state to a Task and then operate on it
 from a background thread. Doing so may introduce race conditions. In
 particular, suppose you had a SaveCustomerTask which took a Customer
 in its constructor. Although the SaveCustomerTask may have a final
 reference to the Customer, if the Customer object is mutable, then it
 is possible that both the SaveCustomerTask and some other application code
 will be reading or modifying the state of the Customer from different
 threads. Be very careful in such cases, that while a mutable object such
 as this Customer is being used from a background thread, that it is
 not being used also from another thread. In particular, if the background
 thread is reading data from the database and updating the Customer object,
 and the Customer object is bound to scene graph nodes (such as UI
 controls), then there could be a violation of threading rules! For such
 cases, modify the Customer object from the FX Application Thread rather
 than from the background thread.</p>

 <pre><code>
     public class UpdateCustomerTask extends Task&lt;Customer&gt; {
         private final Customer customer;

         public UpdateCustomerTask(Customer customer) {
             this.customer = customer;
         }

         &#64;Override protected Customer call() throws Exception {
             // pseudo-code:
             //   query the database
             //   read the values

             // Now update the customer
             Platform.runLater(new Runnable() {
                 &#64;Override public void run() {
                     customer.setFirstName(rs.getString("FirstName"));
                     // etc
                 }
             });

             return customer;
         }
     }
 </code></pre>

 <h3>A Task Which Returns No Value</h3>

 <p>
     Many, if not most, Tasks should return a value upon completion. For
     CRUD Tasks, one would expect that a "Create" Task would return the newly
     created object or primary key, a "Read" Task would return the read
     object, an "Update" task would return the number of records updated,
     and a "Delete" task would return the number of records deleted.
 </p>

 <p>
     However sometimes there just isn't anything truly useful to return.
     For example, I might have a Task which writes to a file. Task has built
     into it a mechanism for indicating whether it has succeeded or failed
     along with the number of bytes written (the progress), and thus there is
     nothing really for me to return. In such a case, you can use the Void
     type. This is a special type in the Java language which can only be
     assigned the value of <code>null</code>. You would use it as follows:
 </p>

 <pre><code>
     final String filePath = "/foo.txt";
     final String contents = "Some contents";
     Task&lt;Void&gt; task = new Task&lt;Void&gt;() {
         &#64;Override protected Void call() throws Exception {
             File file = new File(filePath);
             FileOutputStream out = new FileOutputStream(file);
             // ... and other code to write the contents ...

             // Return null at the end of a Task of type Void
             return null;
         }
     };
 </code></pre>

 <h3>A Task Which Returns An ObservableList</h3>

 <p>Because the ListView, TableView, and other UI controls and scene graph
 nodes make use of ObservableList, it is common to want to create and return
 an ObservableList from a Task. When you do not care to display intermediate
 values, the easiest way to correctly write such a Task is simply to
 construct an ObservableList within the <code>call</code> method, and then
 return it at the conclusion of the Task.</p>

 <pre><code>
     Task&lt;ObservableList&lt;Rectangle&gt;&gt; task = new Task&lt;ObservableList&lt;Rectangle&gt;&gt;() {
         &#64;Override protected ObservableList&lt;Rectangle&gt; call() throws Exception {
             updateMessage("Creating Rectangles");
             ObservableList&lt;Rectangle&gt; results = FXCollections.observableArrayList();
             for (int i=0; i<100; i++) {
                 if (isCancelled()) break;
                 Rectangle r = new Rectangle(10, 10);
                 r.setX(10 * i);
                 results.add(r);
                 updateProgress(i, 100);
             }
             return results;
         }
     };
 </code></pre>

 <p>In the above example, we are going to create 100 rectangles and return
 them from this task. An ObservableList is created within the
 <code>call</code> method, populated, and then returned.</p>

 <h3>A Task Which Returns Partial Results</h3>

 <p>Sometimes you want to create a Task which will return partial results.
 Perhaps you are building a complex scene graph and want to show the
 scene graph as it is being constructed. Or perhaps you are reading a large
 amount of data over the network and want to display the entries in a
 TableView as the data is arriving. In such cases, there is some shared state
 available both to the FX Application Thread and the background thread.
 Great care must be taken to <strong>never update shared state from any
 thread other than the FX Application Thread</strong>.</p>

 <p>The easiest way to do this is to take advantage of the <a href="../../javafx/concurrent/Task.html#updateValue-V-"><code>updateValue(Object)</code></a> method.
 This method may be called repeatedly from the background thread. Updates are coalesced to
 prevent saturation of the FX event queue. This means you can call it as frequently as
 you like from the background thread but only the most recent set is ultimately set.</p>

 <pre><code>
     Task&lt;Long&gt; task = new Task&lt;Long&gt;() {
         &#64;Override protected Long call() throws Exception {
             long a=0;
             long b=1;
             for (long i = 0; i &lt; Long.MAX_VALUE; i++){
                 updateValue(a);
                 a += b;
                 b = a - b;
             }
             return a;
         }
     };
 </code></pre>

 <p>Another way to do this is to expose a new property on the Task
 which will represent the partial result. Then make sure to use
 <code>Platform.runLater</code> when updating the partial result.</p>

 <pre><code>
     Task&lt;Long&gt; task = new Task&lt;Long&gt;() {
         &#64;Override protected Long call() throws Exception {
             long a=0;
             long b=1;
             for (long i = 0; i &lt; Long.MAX_VALUE; i++){
                 final long v = a;
                 Platform.runLater(new Runnable() {
                     &#64;Override public void run() {
                         updateValue(v);
                     }
                 }
                 a += b;
                 b = a - b;
             }
             return a;
         }
     };
 </code></pre>

 <p>Suppose instead of updating a single value, you want to populate an ObservableList
 with results as they are obtained. One approach is to expose a new property on the Task
 which will represent the partial result. Then make sure to use
 <code>Platform.runLater</code> when adding new items to the partial
 result.</p>

 <pre><code>
     public class PartialResultsTask extends Task&lt;ObservableList&lt;Rectangle&gt;&gt; {
         // Uses Java 7 diamond operator
         private ReadOnlyObjectWrapper<ObservableList<Rectangle>> partialResults =
                 new ReadOnlyObjectWrapper<>(this, "partialResults",
                         FXCollections.observableArrayList(new ArrayList<Rectangle>()));

         public final ObservableList<Rectangle> getPartialResults() { return partialResults.get(); }
         public final ReadOnlyObjectProperty<ObservableList<Rectangle>> partialResultsProperty() {
             return partialResults.getReadOnlyProperty();
         }

         &#64;Override protected ObservableList<Rectangle> call() throws Exception {
             updateMessage("Creating Rectangles...");
             for (int i=0; i<100; i++) {
                 if (isCancelled()) break;
                 final Rectangle r = new Rectangle(10, 10);
                 r.setX(10 * i);
                 Platform.runLater(new Runnable() {
                     &#64;Override public void run() {
                         partialResults.get().add(r);
                     }
                 });
                 updateProgress(i, 100);
             }
             return partialResults.get();
         }
     }
 </code></pre>

 <h3>A Task Which Modifies The Scene Graph</h3>

 <p>Generally, Tasks should not interact directly with the UI. Doing so
 creates a tight coupling between a specific Task implementation and a
 specific part of your UI. However, when you do want to create such a
 coupling, you must ensure that you use <code>Platform.runLater</code>
 so that any modifications of the scene graph occur on the
 FX Application Thread.</p>

 <pre><code>
     final Group group = new Group();
     Task&lt;Void&gt; task = new Task&lt;Void&gt;() {
         &#64;Override protected Void call() throws Exception {
             for (int i=0; i<100; i++) {
                 if (isCancelled()) break;
                 final Rectangle r = new Rectangle(10, 10);
                 r.setX(10 * i);
                 Platform.runLater(new Runnable() {
                     &#64;Override public void run() {
                         group.getChildren().add(r);
                     }
                 });
             }
             return null;
         }
     };
 </code></pre>

 <h3>Reacting To State Changes Generically</h3>

 <p>Sometimes you may want to write a Task which updates its progress,
 message, text, or in some other way reacts whenever a state change
 happens on the Task. For example, you may want to change the status
 message on the Task on Failure, Success, Running, or Cancelled state changes.
 </p>
 <pre><code>
     Task&lt;Integer&gt; task = new Task&lt;Integer&gt;() {
         &#64;Override protected Integer call() throws Exception {
             int iterations = 0;
             for (iterations = 0; iterations &lt; 100000; iterations++) {
                 if (isCancelled()) {
                     break;
                 }
                 System.out.println("Iteration " + iterations);
             }
             return iterations;
         }

         &#64;Override protected void succeeded() {
             super.succeeded();
             updateMessage("Done!");
         }

         &#64;Override protected void cancelled() {
             super.cancelled();
             updateMessage("Cancelled!");
         }

         &#64;Override protected void failed() {
             super.failed();
             updateMessage("Failed!");
         }
     };
 </code></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">
<!-- =========== PROPERTY SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="property.summary">
<!--   -->
</a>
<h3>Property Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Property Summary table, listing properties, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Type</th>
<th class="colLast" scope="col">Property and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#exceptionProperty">exception</a></span></code>
<div class="block">Gets the ReadOnlyObjectProperty representing any exception which occurred.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#messageProperty">message</a></span></code>
<div class="block">Gets the ReadOnlyStringProperty representing the message.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onCancelledProperty">onCancelled</a></span></code>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onFailedProperty">onFailed</a></span></code>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onRunningProperty">onRunning</a></span></code>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onScheduledProperty">onScheduled</a></span></code>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onSucceededProperty">onSucceeded</a></span></code>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#progressProperty">progress</a></span></code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the progress.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyBooleanProperty.html" title="class in javafx.beans.property">ReadOnlyBooleanProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#runningProperty">running</a></span></code>
<div class="block">Gets the ReadOnlyBooleanProperty representing whether the Worker is running.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#stateProperty">state</a></span></code>
<div class="block">Gets the ReadOnlyObjectProperty representing the current state.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#titleProperty">title</a></span></code>
<div class="block">Gets the ReadOnlyStringProperty representing the title.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#totalWorkProperty">totalWork</a></span></code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the maximum amount of work
 that needs to be done.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#valueProperty">value</a></span></code>
<div class="block">Gets the ReadOnlyObjectProperty representing the value.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#workDoneProperty">workDone</a></span></code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the current progress.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.javafx.concurrent.Worker">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;javafx.concurrent.<a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a></h3>
<code><a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#Task--">Task</a></span>()</code>
<div class="block">Creates a new Task.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#addEventFilter-javafx.event.EventType-javafx.event.EventHandler-">addEventFilter</a></span>(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
              <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventFilter)</code>
<div class="block">Registers an event filter to this task.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#addEventHandler-javafx.event.EventType-javafx.event.EventHandler-">addEventHandler</a></span>(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
               <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</code>
<div class="block">Registers an event handler to this task.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#buildEventDispatchChain-javafx.event.EventDispatchChain-">buildEventDispatchChain</a></span>(<a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a>&nbsp;tail)</code>
<div class="block">Construct an event dispatch chain for this target.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#call--">call</a></span>()</code>
<div class="block">Invoked when the Task is executed, the call method must be overridden and
 implemented by subclasses.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#cancel--">cancel</a></span>()</code>
<div class="block">Terminates execution of this Worker.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#cancel-boolean-">cancel</a></span>(boolean&nbsp;mayInterruptIfRunning)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#cancelled--">cancelled</a></span>()</code>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the CANCELLED state.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#exceptionProperty--">exceptionProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyObjectProperty representing any exception which occurred.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#failed--">failed</a></span>()</code>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the FAILED state.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#fireEvent-javafx.event.Event-">fireEvent</a></span>(<a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&nbsp;event)</code>
<div class="block">Fires the specified event.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getException--">getException</a></span>()</code>
<div class="block">Gets the value of the property exception.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getMessage--">getMessage</a></span>()</code>
<div class="block">Gets the value of the property message.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getOnCancelled--">getOnCancelled</a></span>()</code>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getOnFailed--">getOnFailed</a></span>()</code>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getOnRunning--">getOnRunning</a></span>()</code>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getOnScheduled--">getOnScheduled</a></span>()</code>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getOnSucceeded--">getOnSucceeded</a></span>()</code>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getProgress--">getProgress</a></span>()</code>
<div class="block">Gets the value of the property progress.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getState--">getState</a></span>()</code>
<div class="block">Gets the value of the property state.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getTitle--">getTitle</a></span>()</code>
<div class="block">Gets the value of the property title.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getTotalWork--">getTotalWork</a></span>()</code>
<div class="block">Gets the value of the property totalWork.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getValue--">getValue</a></span>()</code>
<div class="block">Gets the value of the property value.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#getWorkDone--">getWorkDone</a></span>()</code>
<div class="block">Gets the value of the property workDone.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#isRunning--">isRunning</a></span>()</code>
<div class="block">Gets the value of the property running.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#messageProperty--">messageProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyStringProperty representing the message.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onCancelledProperty--">onCancelledProperty</a></span>()</code>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onFailedProperty--">onFailedProperty</a></span>()</code>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onRunningProperty--">onRunningProperty</a></span>()</code>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onScheduledProperty--">onScheduledProperty</a></span>()</code>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#onSucceededProperty--">onSucceededProperty</a></span>()</code>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#progressProperty--">progressProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the progress.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#removeEventFilter-javafx.event.EventType-javafx.event.EventHandler-">removeEventFilter</a></span>(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                 <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventFilter)</code>
<div class="block">Unregisters a previously registered event filter from this task.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#removeEventHandler-javafx.event.EventType-javafx.event.EventHandler-">removeEventHandler</a></span>(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                  <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</code>
<div class="block">Unregisters a previously registered event handler from this task.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#running--">running</a></span>()</code>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the RUNNING state.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyBooleanProperty.html" title="class in javafx.beans.property">ReadOnlyBooleanProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#runningProperty--">runningProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyBooleanProperty representing whether the Worker is running.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#scheduled--">scheduled</a></span>()</code>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the SCHEDULED state.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected &lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setEventHandler-javafx.event.EventType-javafx.event.EventHandler-">setEventHandler</a></span>(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
               <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</code>
<div class="block">Sets the handler to use for this event type.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setOnCancelled-javafx.event.EventHandler-">setOnCancelled</a></span>(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</code>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setOnFailed-javafx.event.EventHandler-">setOnFailed</a></span>(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</code>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setOnRunning-javafx.event.EventHandler-">setOnRunning</a></span>(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</code>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setOnScheduled-javafx.event.EventHandler-">setOnScheduled</a></span>(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</code>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#setOnSucceeded-javafx.event.EventHandler-">setOnSucceeded</a></span>(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</code>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#stateProperty--">stateProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyObjectProperty representing the current state.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#succeeded--">succeeded</a></span>()</code>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the SUCCEEDED state.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#titleProperty--">titleProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyStringProperty representing the title.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#totalWorkProperty--">totalWorkProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the maximum amount of work
 that needs to be done.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#updateMessage-java.lang.String-">updateMessage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</code>
<div class="block">Updates the <code>message</code> property.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#updateProgress-double-double-">updateProgress</a></span>(double&nbsp;workDone,
              double&nbsp;max)</code>
<div class="block">Updates the <code>workDone</code>, <code>totalWork</code>,
 and <code>progress</code> properties.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#updateProgress-long-long-">updateProgress</a></span>(long&nbsp;workDone,
              long&nbsp;max)</code>
<div class="block">Updates the <code>workDone</code>, <code>totalWork</code>,
 and <code>progress</code> properties.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#updateTitle-java.lang.String-">updateTitle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;title)</code>
<div class="block">Updates the <code>title</code> property.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#updateValue-V-">updateValue</a></span>(<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&nbsp;value)</code>
<div class="block">Updates the <code>value</code> property.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#valueProperty--">valueProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyObjectProperty representing the value.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code><a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javafx/concurrent/Task.html#workDoneProperty--">workDoneProperty</a></span>()</code>
<div class="block">Gets the ReadOnlyDoubleProperty representing the current progress.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.FutureTask">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true" title="class or interface in java.util.concurrent">FutureTask</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#done--" title="class or interface in java.util.concurrent">done</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#get--" title="class or interface in java.util.concurrent">get</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#get-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">get</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#isCancelled--" title="class or interface in java.util.concurrent">isCancelled</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#isDone--" title="class or interface in java.util.concurrent">isDone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#run--" title="class or interface in java.util.concurrent">run</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#runAndReset--" title="class or interface in java.util.concurrent">runAndReset</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#set-V-" title="class or interface in java.util.concurrent">set</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#setException-java.lang.Throwable-" title="class or interface in java.util.concurrent">setException</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ PROPERTY DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="property.detail">
<!--   -->
</a>
<h3>Property Detail</h3>
<a name="stateProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>state</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a>&gt; stateProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#stateProperty--">stateProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the state</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getState--"><code>getState()</code></a></dd>
</dl>
</li>
</ul>
<a name="onScheduledProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onScheduled</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt; onScheduledProperty</pre>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnScheduled--"><code>getOnScheduled()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnScheduled-javafx.event.EventHandler-"><code>setOnScheduled(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="onRunningProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onRunning</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt; onRunningProperty</pre>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnRunning--"><code>getOnRunning()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnRunning-javafx.event.EventHandler-"><code>setOnRunning(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="onSucceededProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSucceeded</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt; onSucceededProperty</pre>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnSucceeded--"><code>getOnSucceeded()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnSucceeded-javafx.event.EventHandler-"><code>setOnSucceeded(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="onCancelledProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCancelled</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt; onCancelledProperty</pre>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnCancelled--"><code>getOnCancelled()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnCancelled-javafx.event.EventHandler-"><code>setOnCancelled(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="onFailedProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFailed</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt; onFailedProperty</pre>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnFailed--"><code>getOnFailed()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnFailed-javafx.event.EventHandler-"><code>setOnFailed(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="valueProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt; valueProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#valueProperty--">valueProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the current value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getValue--"><code>getValue()</code></a></dd>
</dl>
</li>
</ul>
<a name="exceptionProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exception</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt; exceptionProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#exceptionProperty--">exceptionProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the exception</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getException--"><code>getException()</code></a></dd>
</dl>
</li>
</ul>
<a name="workDoneProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>workDone</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a> workDoneProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#workDoneProperty--">workDoneProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the amount of work done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getWorkDone--"><code>getWorkDone()</code></a></dd>
</dl>
</li>
</ul>
<a name="totalWorkProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalWork</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a> totalWorkProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#totalWorkProperty--">totalWorkProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the total work to be done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getTotalWork--"><code>getTotalWork()</code></a></dd>
</dl>
</li>
</ul>
<a name="progressProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>progress</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a> progressProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#progressProperty--">progressProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the progress</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getProgress--"><code>getProgress()</code></a></dd>
</dl>
</li>
</ul>
<a name="runningProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>running</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyBooleanProperty.html" title="class in javafx.beans.property">ReadOnlyBooleanProperty</a> runningProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#runningProperty--">runningProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing whether the worker is running</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#isRunning--"><code>isRunning()</code></a></dd>
</dl>
</li>
</ul>
<a name="messageProperty">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>message</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a> messageProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#messageProperty--">messageProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a property representing the current message</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getMessage--"><code>getMessage()</code></a></dd>
</dl>
</li>
</ul>
<a name="titleProperty">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>title</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a> titleProperty</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#titleProperty--">titleProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the current title</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getTitle--"><code>getTitle()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Task--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Task</h4>
<pre>public&nbsp;Task()</pre>
<div class="block">Creates a new Task.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="call--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>call</h4>
<pre>protected abstract&nbsp;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&nbsp;call()
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Invoked when the Task is executed, the call method must be overridden and
 implemented by subclasses. The call method actually performs the
 background thread logic. Only the updateProgress, updateMessage, updateValue and
 updateTitle methods of Task may be called from code within this method.
 Any other interaction with the Task from the background thread will result
 in runtime exceptions.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The result of the background work, if any.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - an unhandled exception which occurred during the
         background operation</dd>
</dl>
</li>
</ul>
<a name="getState--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre>public final&nbsp;<a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a>&nbsp;getState()</pre>
<div class="block">Gets the value of the property state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The current state of this Worker</dd>
</dl>
</li>
</ul>
<a name="stateProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stateProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Worker.State.html" title="enum in javafx.concurrent">Worker.State</a>&gt;&nbsp;stateProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#stateProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyObjectProperty representing the current state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#stateProperty--">stateProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the state</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getState--"><code>getState()</code></a></dd>
</dl>
</li>
</ul>
<a name="onScheduledProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onScheduledProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;&nbsp;onScheduledProperty()</pre>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnScheduled--"><code>getOnScheduled()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnScheduled-javafx.event.EventHandler-"><code>setOnScheduled(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOnScheduled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnScheduled</h4>
<pre>public final&nbsp;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;getOnScheduled()</pre>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the onScheduled event handler, if any</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setOnScheduled-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnScheduled</h4>
<pre>public final&nbsp;void&nbsp;setOnScheduled(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</pre>
<div class="block">The onSchedule event handler is called whenever the Task state
 transitions to the SCHEDULED state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the event handler, can be null to clear it</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="scheduled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduled</h4>
<pre>protected&nbsp;void&nbsp;scheduled()</pre>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the SCHEDULED state.
 This method is invoked on the FX Application Thread after the Task has been fully transitioned to
 the new state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="onRunningProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onRunningProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;&nbsp;onRunningProperty()</pre>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnRunning--"><code>getOnRunning()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnRunning-javafx.event.EventHandler-"><code>setOnRunning(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOnRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnRunning</h4>
<pre>public final&nbsp;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;getOnRunning()</pre>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the onRunning event handler, if any</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setOnRunning-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnRunning</h4>
<pre>public final&nbsp;void&nbsp;setOnRunning(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</pre>
<div class="block">The onRunning event handler is called whenever the Task state
 transitions to the RUNNING state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the event handler, can be null to clear it</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="running--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>running</h4>
<pre>protected&nbsp;void&nbsp;running()</pre>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the RUNNING state.
 This method is invoked on the FX Application Thread after the Task has been fully transitioned to
 the new state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="onSucceededProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSucceededProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;&nbsp;onSucceededProperty()</pre>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnSucceeded--"><code>getOnSucceeded()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnSucceeded-javafx.event.EventHandler-"><code>setOnSucceeded(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOnSucceeded--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnSucceeded</h4>
<pre>public final&nbsp;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;getOnSucceeded()</pre>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the onSucceeded event handler, if any</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setOnSucceeded-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnSucceeded</h4>
<pre>public final&nbsp;void&nbsp;setOnSucceeded(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</pre>
<div class="block">The onSucceeded event handler is called whenever the Task state
 transitions to the SUCCEEDED state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the event handler, can be null to clear it</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="succeeded--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>succeeded</h4>
<pre>protected&nbsp;void&nbsp;succeeded()</pre>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the SUCCEEDED state.
 This method is invoked on the FX Application Thread after the Task has been fully transitioned to
 the new state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="onCancelledProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCancelledProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;&nbsp;onCancelledProperty()</pre>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnCancelled--"><code>getOnCancelled()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnCancelled-javafx.event.EventHandler-"><code>setOnCancelled(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOnCancelled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnCancelled</h4>
<pre>public final&nbsp;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;getOnCancelled()</pre>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the onCancelled event handler, if any</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setOnCancelled-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnCancelled</h4>
<pre>public final&nbsp;void&nbsp;setOnCancelled(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</pre>
<div class="block">The onCancelled event handler is called whenever the Task state
 transitions to the CANCELLED state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the event handler, can be null to clear it</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="cancelled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancelled</h4>
<pre>protected&nbsp;void&nbsp;cancelled()</pre>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the CANCELLED state.
 This method is invoked on the FX Application Thread after the Task has been fully transitioned to
 the new state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="onFailedProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFailedProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ObjectProperty.html" title="class in javafx.beans.property">ObjectProperty</a>&lt;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&gt;&nbsp;onFailedProperty()</pre>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getOnFailed--"><code>getOnFailed()</code></a>, 
<a href="../../javafx/concurrent/Task.html#setOnFailed-javafx.event.EventHandler-"><code>setOnFailed(EventHandler)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOnFailed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnFailed</h4>
<pre>public final&nbsp;<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;getOnFailed()</pre>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the onFailed event handler, if any</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setOnFailed-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnFailed</h4>
<pre>public final&nbsp;void&nbsp;setOnFailed(<a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;<a href="../../javafx/concurrent/WorkerStateEvent.html" title="class in javafx.concurrent">WorkerStateEvent</a>&gt;&nbsp;value)</pre>
<div class="block">The onFailed event handler is called whenever the Task state
 transitions to the FAILED state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the event handler, can be null to clear it</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="failed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failed</h4>
<pre>protected&nbsp;void&nbsp;failed()</pre>
<div class="block">A protected convenience method for subclasses, called whenever the
 state of the Task has transitioned to the FAILED state.
 This method is invoked on the FX Application Thread after the Task has been fully transitioned to
 the new state.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="getValue--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public final&nbsp;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&nbsp;getValue()</pre>
<div class="block">Gets the value of the property value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getValue--">getValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current value of this Worker</dd>
</dl>
</li>
</ul>
<a name="valueProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;&nbsp;valueProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#valueProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyObjectProperty representing the value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#valueProperty--">valueProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the current value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getValue--"><code>getValue()</code></a></dd>
</dl>
</li>
</ul>
<a name="getException--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getException</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;getException()</pre>
<div class="block">Gets the value of the property exception.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getException--">getException</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the exception, if one occurred</dd>
</dl>
</li>
</ul>
<a name="exceptionProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exceptionProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyObjectProperty.html" title="class in javafx.beans.property">ReadOnlyObjectProperty</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;exceptionProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#exceptionProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyObjectProperty representing any exception which occurred.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#exceptionProperty--">exceptionProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the exception</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getException--"><code>getException()</code></a></dd>
</dl>
</li>
</ul>
<a name="getWorkDone--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWorkDone</h4>
<pre>public final&nbsp;double&nbsp;getWorkDone()</pre>
<div class="block">Gets the value of the property workDone.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getWorkDone--">getWorkDone</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the amount of work done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Worker.html#totalWorkProperty--"><code>Worker.totalWorkProperty()</code></a>, 
<a href="../../javafx/concurrent/Worker.html#progressProperty--"><code>Worker.progressProperty()</code></a></dd>
</dl>
</li>
</ul>
<a name="workDoneProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>workDoneProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a>&nbsp;workDoneProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#workDoneProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyDoubleProperty representing the current progress.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#workDoneProperty--">workDoneProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The property representing the amount of work done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getWorkDone--"><code>getWorkDone()</code></a></dd>
</dl>
</li>
</ul>
<a name="getTotalWork--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalWork</h4>
<pre>public final&nbsp;double&nbsp;getTotalWork()</pre>
<div class="block">Gets the value of the property totalWork.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getTotalWork--">getTotalWork</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total work to be done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Worker.html#workDoneProperty--"><code>Worker.workDoneProperty()</code></a>, 
<a href="../../javafx/concurrent/Worker.html#progressProperty--"><code>Worker.progressProperty()</code></a></dd>
</dl>
</li>
</ul>
<a name="totalWorkProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>totalWorkProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a>&nbsp;totalWorkProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#totalWorkProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyDoubleProperty representing the maximum amount of work
 that needs to be done. These "work units" have meaning to the Worker
 implementation, such as the number of bytes that need to be downloaded
 or the number of images to process or some other such metric.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#totalWorkProperty--">totalWorkProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the total work to be done</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getTotalWork--"><code>getTotalWork()</code></a></dd>
</dl>
</li>
</ul>
<a name="getProgress--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProgress</h4>
<pre>public final&nbsp;double&nbsp;getProgress()</pre>
<div class="block">Gets the value of the property progress.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getProgress--">getProgress</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current progress</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Worker.html#workDoneProperty--"><code>Worker.workDoneProperty()</code></a>, 
<a href="../../javafx/concurrent/Worker.html#totalWorkProperty--"><code>Worker.totalWorkProperty()</code></a></dd>
</dl>
</li>
</ul>
<a name="progressProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>progressProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyDoubleProperty.html" title="class in javafx.beans.property">ReadOnlyDoubleProperty</a>&nbsp;progressProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#progressProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyDoubleProperty representing the progress.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#progressProperty--">progressProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the progress</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getProgress--"><code>getProgress()</code></a></dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public final&nbsp;boolean&nbsp;isRunning()</pre>
<div class="block">Gets the value of the property running.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#isRunning--">isRunning</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this Worker is running</dd>
</dl>
</li>
</ul>
<a name="runningProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runningProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyBooleanProperty.html" title="class in javafx.beans.property">ReadOnlyBooleanProperty</a>&nbsp;runningProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#runningProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyBooleanProperty representing whether the Worker is running.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#runningProperty--">runningProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing whether the worker is running</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#isRunning--"><code>isRunning()</code></a></dd>
</dl>
</li>
</ul>
<a name="getMessage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessage</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMessage()</pre>
<div class="block">Gets the value of the property message.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getMessage--">getMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current message</dd>
</dl>
</li>
</ul>
<a name="messageProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a>&nbsp;messageProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#messageProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyStringProperty representing the message.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#messageProperty--">messageProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a property representing the current message</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getMessage--"><code>getMessage()</code></a></dd>
</dl>
</li>
</ul>
<a name="getTitle--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTitle</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTitle()</pre>
<div class="block">Gets the value of the property title.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#getTitle--">getTitle</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current title</dd>
</dl>
</li>
</ul>
<a name="titleProperty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>titleProperty</h4>
<pre>public final&nbsp;<a href="../../javafx/beans/property/ReadOnlyStringProperty.html" title="class in javafx.beans.property">ReadOnlyStringProperty</a>&nbsp;titleProperty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#titleProperty--">Worker</a></code></span></div>
<div class="block">Gets the ReadOnlyStringProperty representing the title.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#titleProperty--">titleProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property representing the current title</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#getTitle--"><code>getTitle()</code></a></dd>
</dl>
</li>
</ul>
<a name="cancel--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancel</h4>
<pre>public final&nbsp;boolean&nbsp;cancel()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/concurrent/Worker.html#cancel--">Worker</a></code></span></div>
<div class="block">Terminates execution of this Worker. Calling this method will either
 remove this Worker from the execution queue or stop execution.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/concurrent/Worker.html#cancel--">cancel</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent">Worker</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns true if the cancel was successful</dd>
</dl>
</li>
</ul>
<a name="cancel-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancel</h4>
<pre>public&nbsp;boolean&nbsp;cancel(boolean&nbsp;mayInterruptIfRunning)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true#cancel-boolean-" title="class or interface in java.util.concurrent">cancel</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true#cancel-boolean-" title="class or interface in java.util.concurrent">cancel</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/FutureTask.html?is-external=true" title="class or interface in java.util.concurrent">FutureTask</a>&lt;<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="updateProgress-long-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateProgress</h4>
<pre>protected&nbsp;void&nbsp;updateProgress(long&nbsp;workDone,
                              long&nbsp;max)</pre>
<div class="block">Updates the <code>workDone</code>, <code>totalWork</code>,
 and <code>progress</code> properties. Calls to updateProgress
 are coalesced and run later on the FX application thread, and calls
 to updateProgress, even from the FX Application thread, may not
 necessarily result in immediate updates to these properties, and
 intermediate workDone values may be coalesced to save on event
 notifications. <code>max</code> becomes the new value for
 <code>totalWork</code>.
 <p>
     <em>This method is safe to be called from any thread.</em>
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>workDone</code> - A value from Long.MIN_VALUE up to max. If the value is greater
                 than max, then it will be clamped at max.
                 If the value passed is negative then the resulting percent
                 done will be -1 (thus, indeterminate).</dd>
<dd><code>max</code> - A value from Long.MIN_VALUE to Long.MAX_VALUE.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javafx/concurrent/Task.html#updateProgress-double-double-"><code>updateProgress(double, double)</code></a></dd>
</dl>
</li>
</ul>
<a name="updateProgress-double-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateProgress</h4>
<pre>protected&nbsp;void&nbsp;updateProgress(double&nbsp;workDone,
                              double&nbsp;max)</pre>
<div class="block">Updates the <code>workDone</code>, <code>totalWork</code>,
 and <code>progress</code> properties. Calls to updateProgress
 are coalesced and run later on the FX application thread, and calls
 to updateProgress, even from the FX Application thread, may not
 necessarily result in immediate updates to these properties, and
 intermediate workDone values may be coalesced to save on event
 notifications. <code>max</code> becomes the new value for
 <code>totalWork</code>.
 <p>
     <em>This method is safe to be called from any thread.</em>
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>workDone</code> - A value from Double.MIN_VALUE up to max. If the value is greater
                 than max, then it will be clamped at max.
                 If the value passed is negative, or Infinity, or NaN,
                 then the resulting percentDone will be -1 (thus, indeterminate).</dd>
<dd><code>max</code> - A value from Double.MIN_VALUE to Double.MAX_VALUE. Infinity and NaN are treated as -1.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.2</dd>
</dl>
</li>
</ul>
<a name="updateMessage-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateMessage</h4>
<pre>protected&nbsp;void&nbsp;updateMessage(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
<div class="block">Updates the <code>message</code> property. Calls to updateMessage
 are coalesced and run later on the FX application thread, so calls
 to updateMessage, even from the FX Application thread, may not
 necessarily result in immediate updates to this property, and
 intermediate message values may be coalesced to save on event
 notifications.
 <p>
     <em>This method is safe to be called from any thread.</em>
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the new message</dd>
</dl>
</li>
</ul>
<a name="updateTitle-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateTitle</h4>
<pre>protected&nbsp;void&nbsp;updateTitle(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;title)</pre>
<div class="block">Updates the <code>title</code> property. Calls to updateTitle
 are coalesced and run later on the FX application thread, so calls
 to updateTitle, even from the FX Application thread, may not
 necessarily result in immediate updates to this property, and
 intermediate title values may be coalesced to save on event
 notifications.
 <p>
     <em>This method is safe to be called from any thread.</em>
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>title</code> - the new title</dd>
</dl>
</li>
</ul>
<a name="updateValue-java.lang.Object-">
<!--   -->
</a><a name="updateValue-V-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateValue</h4>
<pre>protected&nbsp;void&nbsp;updateValue(<a href="../../javafx/concurrent/Task.html" title="type parameter in Task">V</a>&nbsp;value)</pre>
<div class="block">Updates the <code>value</code> property. Calls to updateValue
 are coalesced and run later on the FX application thread, so calls
 to updateValue, even from the FX Application thread, may not
 necessarily result in immediate updates to this property, and
 intermediate values may be coalesced to save on event
 notifications.
 <p>
     <em>This method is safe to be called from any thread.</em>
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the new value</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 8.0</dd>
</dl>
</li>
</ul>
<a name="addEventHandler-javafx.event.EventType-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addEventHandler</h4>
<pre>public final&nbsp;&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;&nbsp;void&nbsp;addEventHandler(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                                                    <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</pre>
<div class="block">Registers an event handler to this task. Any event filters are first
 processed, then the specified onFoo event handlers, and finally any
 event handlers registered by this method. As with other events
 in the scene graph, if an event is consumed, it will not continue
 dispatching.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the specific event class of the handler</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventType</code> - the type of the events to receive by the handler</dd>
<dd><code>eventHandler</code> - the handler to register</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the event type or handler is null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="removeEventHandler-javafx.event.EventType-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeEventHandler</h4>
<pre>public final&nbsp;&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;&nbsp;void&nbsp;removeEventHandler(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                                                       <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</pre>
<div class="block">Unregisters a previously registered event handler from this task. One
 handler might have been registered for different event types, so the
 caller needs to specify the particular event type from which to
 unregister the handler.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the specific event class of the handler</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventType</code> - the event type from which to unregister</dd>
<dd><code>eventHandler</code> - the handler to unregister</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the event type or handler is null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="addEventFilter-javafx.event.EventType-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addEventFilter</h4>
<pre>public final&nbsp;&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;&nbsp;void&nbsp;addEventFilter(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                                                   <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventFilter)</pre>
<div class="block">Registers an event filter to this task. Registered event filters get
 an event before any associated event handlers.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the specific event class of the filter</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventType</code> - the type of the events to receive by the filter</dd>
<dd><code>eventFilter</code> - the filter to register</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the event type or filter is null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="removeEventFilter-javafx.event.EventType-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeEventFilter</h4>
<pre>public final&nbsp;&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;&nbsp;void&nbsp;removeEventFilter(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                                                      <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventFilter)</pre>
<div class="block">Unregisters a previously registered event filter from this task. One
 filter might have been registered for different event types, so the
 caller needs to specify the particular event type from which to
 unregister the filter.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the specific event class of the filter</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventType</code> - the event type from which to unregister</dd>
<dd><code>eventFilter</code> - the filter to unregister</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the event type or filter is null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="setEventHandler-javafx.event.EventType-javafx.event.EventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventHandler</h4>
<pre>protected final&nbsp;&lt;T extends <a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&gt;&nbsp;void&nbsp;setEventHandler(<a href="../../javafx/event/EventType.html" title="class in javafx.event">EventType</a>&lt;T&gt;&nbsp;eventType,
                                                       <a href="../../javafx/event/EventHandler.html" title="interface in javafx.event">EventHandler</a>&lt;? super T&gt;&nbsp;eventHandler)</pre>
<div class="block">Sets the handler to use for this event type. There can only be one such
 handler specified at a time. This handler is guaranteed to be called
 first. This is used for registering the user-defined onFoo event
 handlers.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the specific event class of the handler</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventType</code> - the event type to associate with the given eventHandler</dd>
<dd><code>eventHandler</code> - the handler to register, or null to unregister</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the event type is null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="fireEvent-javafx.event.Event-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireEvent</h4>
<pre>public final&nbsp;void&nbsp;fireEvent(<a href="../../javafx/event/Event.html" title="class in javafx.event">Event</a>&nbsp;event)</pre>
<div class="block">Fires the specified event. Any event filter encountered will
 be notified and can consume the event. If not consumed by the filters,
 the event handlers on this task are notified. If these don't consume the
 event either, then all event handlers are called and can consume the
 event.
 <p>
 This method must be called on the FX user thread.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the event to fire</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JavaFX 2.1</dd>
</dl>
</li>
</ul>
<a name="buildEventDispatchChain-javafx.event.EventDispatchChain-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildEventDispatchChain</h4>
<pre>public&nbsp;<a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a>&nbsp;buildEventDispatchChain(<a href="../../javafx/event/EventDispatchChain.html" title="interface in javafx.event">EventDispatchChain</a>&nbsp;tail)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../javafx/event/EventTarget.html#buildEventDispatchChain-javafx.event.EventDispatchChain-">EventTarget</a></code></span></div>
<div class="block">Construct an event dispatch chain for this target. The event dispatch
 chain contains event dispatchers which might be interested in processing
 of events targeted at this <code>EventTarget</code>. This event target is
 not automatically added to the chain, so if it wants to process events,
 it needs to add an <code>EventDispatcher</code> for itself to the chain.
 <p>
 In the case the event target is part of some hierarchy, the chain for it
 is usually built from event dispatchers collected from the root of the
 hierarchy to the event target.
 <p>
 The event dispatch chain is constructed by modifications to the provided
 initial event dispatch chain. The returned chain should have the initial
 chain at its end so the dispatchers should be prepended to the initial
 chain.
 <p>
 The caller shouldn't assume that the initial chain remains unchanged nor
 that the returned value will reference a different chain.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../javafx/event/EventTarget.html#buildEventDispatchChain-javafx.event.EventDispatchChain-">buildEventDispatchChain</a></code>&nbsp;in interface&nbsp;<code><a href="../../javafx/event/EventTarget.html" title="interface in javafx.event">EventTarget</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tail</code> - the initial chain to build from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the resulting event dispatch chain for this target</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/Task.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&nbsp;8</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../javafx/concurrent/Service.html" title="class in javafx.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javafx/concurrent/Worker.html" title="interface in javafx.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javafx/concurrent/Task.html" target="_top">Frames</a></li>
<li><a href="Task.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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><font size="-1"><a href="http://bugreport.java.com/bugreport/" target="_blank">Submit a bug or feature</a><br>For further API reference and developer documentation, see <a href="https://docs.oracle.com/javase/8/docs/index.html" target="_blank">Java SE Documentation</a>. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.<br> <a href="https://docs.oracle.com/javase/8/docs/legal/cpyr.html" target="_blank">Copyright</a> &copy; 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to <a href="http://download.oracle.com/otndocs/jcp/java_se-8-mrel-spec/license.html" target="_blank">license terms</a>. Also see the <a target="_blank" href="http://www.oracle.com/technetwork/java/redist-137594.html" target="_blank">documentation redistribution policy</a>.</font></small></p>
</body>
</html>