SwingWorker
supports
bound properties, which are useful for communicating with other threads. Two bound
properties are predefined: progress
and
state
. As with all bound properties,
progress
and state
can be used to trigger
event-handling tasks on the event dispatch thread.
By implementing a property change listener, a program can track
changes to progress
, state
, and other bound
properties. For more information, refer to
How to Write a Property Change Listener
in
Writing Event Listeners.
progress
Bound Variableprogress
bound variable is an int
value
that can range from 0 to 100. It has a predefined setter method (the protected
SwingWorker.setProgress
)
and a predefined getter method (the public
SwingWorker.getProgress
).
The
example uses ProgressBarDemo
progress
to update a
ProgressBar
control from a background task. For a
detailed discussion of this example, refer to
How to Use Progress Bars
in
Using Swing Components.
state
Bound Variablestate
bound variable indicates where the
SwingWorker
object is in its lifecycle.
The bound variable contains an enumeration value of type
SwingWorker.StateValue
. Possible values are:
PENDING
doInBackground
is invoked.
STARTED
doInBackground
is invoked until shortly before
done
is invoked.
state
bound variable is returned by
SwingWorker.getState
.
Future
interface, also report on
the status of the background task. As we saw in
Canceling Background Tasks, isCancelled
returns true
if the task has been
canceled. In addition, isDone
returns true
if
the task has finished, either normally, or by being cancelled.