org.af.commons.threading
Class ProgressDialog<T,V>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.af.commons.threading.ProgressDialog<T,V>
Type Parameters:
T - Result type of SafeSwingWorker
V - Intermediate type of SafeSwingWorker
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class ProgressDialog<T,V>
extends JDialog
implements PropertyChangeListener, ActionListener

Dialog that visualizes the progess of a SafeSwingworker by using a ProgressPanel. The task is automatically started when the dialog is made visible.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ProgressDialog(Dialog parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable)
          Constructor
ProgressDialog(Dialog parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable, JPanel extraPanel)
          Constructor
ProgressDialog(Frame parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable)
          Constructor
ProgressDialog(Frame parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable, JPanel extraPanel)
          Constructor
 
Method Summary
 void actionPerformed(ActionEvent e)
          Action handling for OK button.
 SafeSwingWorker<T,V> getTask()
          Returns the associated task for the ProgressPanel.
 boolean isCloseOnTaskIsFinished()
          Should the dialog automatically be closed when the task reaches 100% ?
static
<T,V> ProgressDialog<T,V>
make(Component parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable)
          Constructor
static
<T,V> ProgressDialog<T,V>
make(Component parent, String title, SafeSwingWorker<T,V> task, boolean modal, boolean abortable, JPanel extraPanel)
          Constructor
 void propertyChange(PropertyChangeEvent evt)
          If progress property of SafeSwingWorker reaches 100% we are done and enable the OK button.
 void setCloseOnTaskIsFinished(boolean closeOnFinish)
          Set to true if the dialog should automatically be closed when the task reaches 100%.
 void setVisible(boolean b)
           
 
Methods inherited from class javax.swing.JDialog
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProgressDialog

public ProgressDialog(Frame parent,
                      String title,
                      SafeSwingWorker<T,V> task,
                      boolean modal,
                      boolean abortable,
                      JPanel extraPanel)
Constructor

Parameters:
parent - Parent frame to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.
extraPanel - Additional panel, displayed above the message Panel.

ProgressDialog

public ProgressDialog(Frame parent,
                      String title,
                      SafeSwingWorker<T,V> task,
                      boolean modal,
                      boolean abortable)
Constructor

Parameters:
parent - Parent frame to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.

ProgressDialog

public ProgressDialog(Dialog parent,
                      String title,
                      SafeSwingWorker<T,V> task,
                      boolean modal,
                      boolean abortable,
                      JPanel extraPanel)
Constructor

Parameters:
parent - Parent dialog to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.
extraPanel - Additional panel, displayed above the message Panel.

ProgressDialog

public ProgressDialog(Dialog parent,
                      String title,
                      SafeSwingWorker<T,V> task,
                      boolean modal,
                      boolean abortable)
Constructor

Parameters:
parent - Parent dialog to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.
Method Detail

make

public static <T,V> ProgressDialog<T,V> make(Component parent,
                                             String title,
                                             SafeSwingWorker<T,V> task,
                                             boolean modal,
                                             boolean abortable,
                                             JPanel extraPanel)
Constructor

Parameters:
parent - Parent dialog to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.
extraPanel - Additional panel, displayed above the message Panel.

make

public static <T,V> ProgressDialog<T,V> make(Component parent,
                                             String title,
                                             SafeSwingWorker<T,V> task,
                                             boolean modal,
                                             boolean abortable)
Constructor

Parameters:
parent - Parent dialog to place the dialog on.
title - Title of the dialog.
task - Monitored task.
modal - Use a modal dialog?
abortable - Allowed to abort the task by closing the dialog? If not a warning is displayed that the application will exit.

propertyChange

public void propertyChange(PropertyChangeEvent evt)
If progress property of SafeSwingWorker reaches 100% we are done and enable the OK button.

Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
evt - event

actionPerformed

public void actionPerformed(ActionEvent e)
Action handling for OK button.

Specified by:
actionPerformed in interface ActionListener
Parameters:
e - event

isCloseOnTaskIsFinished

public boolean isCloseOnTaskIsFinished()
Should the dialog automatically be closed when the task reaches 100% ?

Returns:
True iff the dialog is automatically closed when the task reaches 100%.

setCloseOnTaskIsFinished

public void setCloseOnTaskIsFinished(boolean closeOnFinish)
Set to true if the dialog should automatically be closed when the task reaches 100%.

Parameters:
closeOnFinish - True iff the dialog is automatically closed when the task reaches 100%.

setVisible

public void setVisible(boolean b)
Overrides:
setVisible in class Component

getTask

public SafeSwingWorker<T,V> getTask()
Returns the associated task for the ProgressPanel.

Returns:
The associated task for the ProgressPanel.