## mars.simulator
Class SwingWorker

    java.lang.Object
      mars.simulator.SwingWorker

    public abstract class SwingWorker

extends 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 and examples of 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.

Constructor Summary
`SwingWorker(boolean useSwing)` Start a thread that will call the `construct` method and then exit.

Method Summary
`abstract 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.
`Object` `get()` Return the value created by the `construct` method.
`protected 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.
`void` `start()` Start the worker thread.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SwingWorker

    public SwingWorker(boolean useSwing)

  Start a thread that will call the `construct` method and then exit.

  Parameters:
    `useSwing` - Set true if MARS is running from GUI, false otherwise.

Method Detail

### getValue

    protected Object getValue()

  Get the value produced by the worker thread, or null if it hasn't been constructed yet.

### construct

    public abstract 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 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.