tppt.util
Class SwingWorker

java.lang.Object
  |
  +--tppt.util.SwingWorker

public abstract class SwingWorker
extends java.lang.Object

SwingWorker is used to move a time-consuming task from an action event handler into a background thread, so that the GUI remains responsive.
The implementation of the SwingWorker class has been updated twice, most recently in February 2000. The first update (in January 1999) allowed programs to safely interrupt the worker. The most recent update (called "SwingWorker 3") was to fix a subtle threading bug that could cause a NullPointerException. For instructions on using this class, see: http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html Note that the API changed slightly in the 3rd version: You must now invoke start() on the SwingWorker after creating it. This file got from http://java.sun.com/docs/books/tutorial/uiswing/misc/example-swing/SwingWorker.java.

Version:
3
Author:
Sun MicroSystem.

Inner Class Summary
private static class SwingWorker.ThreadVar
          Class to maintain reference to current worker thread under separate synchronization control.
 
Field Summary
private  java.lang.Thread thread
           
private  SwingWorker.ThreadVar threadVar
           
private  java.lang.Object value
           
 
Constructor Summary
SwingWorker()
          Start a thread that will call the construct method and then exit.
 
Method Summary
abstract  java.lang.Object construct()
          Compute the value to be returned by the get method.
 void finished()
          Called on the event dispatching thread (not on the worker thread) after the construct method has returned.
 java.lang.Object get()
          Return the value created by the construct method.
protected  java.lang.Object getValue()
          Get the value produced by the worker thread, or null if it hasn't been constructed yet.
 void interrupt()
          A new method that interrupts the worker thread.
private  void setValue(java.lang.Object x)
          Set the value produced by worker thread
 void start()
          Start the worker thread.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

value

private java.lang.Object value

thread

private java.lang.Thread thread

threadVar

private SwingWorker.ThreadVar threadVar
Constructor Detail

SwingWorker

public SwingWorker()
Start a thread that will call the construct method and then exit.
Method Detail

getValue

protected java.lang.Object getValue()
Get the value produced by the worker thread, or null if it hasn't been constructed yet.

setValue

private void setValue(java.lang.Object x)
Set the value produced by worker thread

construct

public abstract java.lang.Object construct()
Compute the value to be returned by the get method.

finished

public void finished()
Called on the event dispatching thread (not on the worker thread) after the construct 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

public java.lang.Object get()
Return the value created by the construct 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.