Package eu.bandm.tools.graficUtils
Class SwingWorker
java.lang.Object
eu.bandm.tools.graficUtils.SwingWorker
Execute background process in a Swing context on a dedicated thread.
This is a modified copy from the "Worker" Class as proposed
by Sun, cf.
http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html
http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
Call protocol:
Call protocol:
swingthread swingthread (or other thread!) | | ---> new() | | ---> start() | | (own thread running) | | | |---> construct() | | finished()<------------- | | ---> get()
-
Constructor Summary
ModifierConstructorDescriptionprotected
Start a thread that will call theconstruct
method and then exit. -
Method Summary
Modifier and TypeMethodDescriptionabstract Object
Compute the value to be returned by theget
method.void
finished()
Called on the event dispatching thread (not on the worker thread) after theconstruct
method has returned.get()
Return the value created by theconstruct
method.protected Object
getValue()
Get the value produced by the worker thread, or null if it hasn't been constructed yet.void
A new method that interrupts the worker thread.void
start()
Start the worker thread.
-
Constructor Details
-
SwingWorker
protected SwingWorker()Start a thread that will call theconstruct
method and then exit.
-
-
Method Details
-
getValue
Get the value produced by the worker thread, or null if it hasn't been constructed yet. -
construct
Compute the value to be returned by theget
method. -
finished
public void finished()Called on the event dispatching thread (not on the worker thread) after theconstruct
method has returned. -
interrupt
public void interrupt()A new method that interrupts the worker thread. Call this method to force the worker to stop what it's doing. -
get
Return the value created by theconstruct
method. Returns null if either the constructing thread or the current thread was interrupted before a value was produced.- Returns:
- the value created by the
construct
method
-
start
public void start()Start the worker thread. MUST AT MOST be called ONCE(1x) according toThread
docu!
-