## org.emboss.jemboss.gui
Class SwingWorker

    java.lang.Object
      |
      +--org.emboss.jemboss.gui.SwingWorker

Direct Known Subclasses:
  BuildProgramMenu$1, BuildProgramMenu$2, LaunchJalView$2

public abstract class SwingWorker
extends java.lang.Object

This is the 3rd version of SwingWorker (also known as SwingWorker 3), an abstract class that you subclass to perform GUI-related work in a dedicated thread. 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.

Nested 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, 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.