Package org.pepsoft.util.swing
Class ProgressDialog<T>
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
org.pepsoft.util.swing.ProgressDialog<T>
- All Implemented Interfaces:
ComponentListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants,ProgressComponent.Listener<T>
public class ProgressDialog<T>
extends JDialog
implements ComponentListener, ProgressComponent.Listener<T>
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ProgressDialog.OptionOption to pass to prevent the popup that opens while the task is running to display its progress, from stealing the keyboard focus.static final ProgressDialog.OptionOption to pass to make the Cancel button inactive, forcing the user to wait until the task is completed.Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPEFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionProgressDialog(Window parent, ProgressTask<T> task, ProgressDialog.Option... options) Creates new form ProgressDialog. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidvoidvoidvoidexceptionThrown(Throwable exception) static <T> TexecuteTask(Window parent, String name, Callable<T> task, ProgressDialog.Option... options) Execute a task in the background with progress reporting via a modal dialog with a progress bar.static <T> TexecuteTask(Window parent, ProgressTask<T> task, ProgressDialog.Option... options) Execute a task in the background with progress reporting via a modal dialog with a progress bar.voidsetVisible(boolean b) When invoked withtrue, displays the dialog and starts the configuredProgressTaskin a background thread, then blocks until the task has completed and the dialog is disposed of.Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, updateMethods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackMethods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFrontMethods 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
NOT_CANCELABLE
Option to pass to make the Cancel button inactive, forcing the user to wait until the task is completed. -
NO_FOCUS_STEALING
Option to pass to prevent the popup that opens while the task is running to display its progress, from stealing the keyboard focus.
-
-
Constructor Details
-
ProgressDialog
Creates new form ProgressDialog.- Parameters:
parent- The parent window for the modal dialog.task- The task to execute.options- Optional modifiers to change the behaviour. SeeNOT_CANCELABLEandNO_FOCUS_STEALING.
-
-
Method Details
-
setVisible
public void setVisible(boolean b) When invoked withtrue, displays the dialog and starts the configuredProgressTaskin a background thread, then blocks until the task has completed and the dialog is disposed of. Events are dispatched while this method is blocked.- Overrides:
setVisiblein classDialog- Parameters:
b-trueto show the dialog and start the task in a background thread.
-
executeTask
public static <T> T executeTask(Window parent, ProgressTask<T> task, ProgressDialog.Option... options) Execute a task in the background with progress reporting via a modal dialog with a progress bar. The task is executed on a separate thread. This method blocks until the task has completed, but events are dispatched while the method is blocked. If the task throws an exception, that exception will be rethrown by this method.By default the Cancel button is enabled and the popup will steal the keyboard focus. Use one or more of the
NOT_CANCELABLEandNO_FOCUS_STEALINGoptions to modify this.- Type Parameters:
T- The return type of the task. UseVoidfor tasks which don't return a value.- Parameters:
parent- The parent window for the modal dialog.task- The task to execute.options- Optional modifiers to change the behaviour. SeeNOT_CANCELABLEandNO_FOCUS_STEALING.- Returns:
- The result of the task, or
nullif the task does not return a result or if it was cancelled. - Throws:
Error- If the task threw anError.RuntimeException- If the task threw aRuntimeException.
-
executeTask
public static <T> T executeTask(Window parent, String name, Callable<T> task, ProgressDialog.Option... options) Execute a task in the background with progress reporting via a modal dialog with a progress bar. The task is executed on a separate thread. This method blocks until the task has completed, but events are dispatched while the method is blocked. If the task throws an exception, that exception will be rethrown by this method.By default the Cancel button is enabled and the popup will steal the keyboard focus. Use one or more of the
NOT_CANCELABLEandNO_FOCUS_STEALINGoptions to modify this.- Type Parameters:
T- The return type of the task. UseVoidfor tasks which don't return a value.- Parameters:
parent- The parent window for the modal dialog.name- The name of the task to execute. Will be displayed to the user.task- The task to execute.options- Optional modifiers to change the behaviour. SeeNOT_CANCELABLEandNO_FOCUS_STEALING.- Returns:
- The result of the task, or
nullif the task does not return a result or if it was cancelled. - Throws:
Error- If the task threw anError.RuntimeException- If the task threw aRuntimeException.
-
componentShown
- Specified by:
componentShownin interfaceComponentListener
-
componentResized
- Specified by:
componentResizedin interfaceComponentListener
-
componentMoved
- Specified by:
componentMovedin interfaceComponentListener
-
componentHidden
- Specified by:
componentHiddenin interfaceComponentListener
-
exceptionThrown
- Specified by:
exceptionThrownin interfaceProgressComponent.Listener<T>
-
done
- Specified by:
donein interfaceProgressComponent.Listener<T>
-
cancelled
public void cancelled()- Specified by:
cancelledin interfaceProgressComponent.Listener<T>
-