org.openbp.jaspira.gui.wizard
Class JaspiraWizardResultPage

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.openbp.swing.components.wizard.WizardPage
                      extended by org.openbp.jaspira.gui.wizard.JaspiraWizardPage
                          extended by org.openbp.jaspira.gui.wizard.JaspiraWizardResultPage
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible, WizardListener, WizardValidator
Direct Known Subclasses:
WizardResultPage

public abstract class JaspiraWizardResultPage
extends JaspiraWizardPage
implements java.lang.Runnable

The wizard result page is used to give a feedback to the user while performing a lengthy operation as result of a wizard dialog. This page should be added to the wizard by calling Wizard.addPage (String name, JaspiraWizardResultPage page) and Wizard.setResultPageName (String name). It will be invoked then after the user presses the 'Finish' button on the last wizard page. By default, the page provides a progress bar, a text area (that displays a progress explanation) and a console window that may display processing output. If you don't ant one of these components to appear in the ui, simply make it invisible in the start() method. You must override the preProcess(), process() and postProcess(boolean) methods to add your functionality to the page.

Author:
Heiko Erhardt
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JPanel progressPanel
          Panel for progress bar in the north region of the content pane
protected  javax.swing.JPanel textPanel
          Panel for progress text output in the south region of the content pane
 
Fields inherited from class org.openbp.swing.components.wizard.WizardPage
canCancel, canFinish, canMoveBackward, canMoveForward
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JaspiraWizardResultPage(Wizard wizard)
          Constructor.
 
Method Summary
 JConsole getConsole()
          Gets the message output window.
 javax.swing.JProgressBar getProgressBar()
          Gets the progress bar.
 int getProgressCount()
          Gets the progress count.
 javax.swing.JPanel getProgressPanel()
          Gets the panel for progress bar in the north region of the content pane.
 java.lang.String getProgressText()
          Gets the progress text.
 javax.swing.JTextArea getTextArea()
          Gets the message output window.
 javax.swing.JPanel getTextPanel()
          Gets the panel for progress text output in the south region of the content pane.
 void handleWizardEvent(WizardEvent event)
          Handles a wizard event caused by this wizard page.
protected  void internalUpdatePage()
          Updates the page.
protected abstract  void postProcess(boolean success)
          Finishes the processing.
protected abstract  void preProcess()
          Prepares for processing.
protected abstract  void process()
          Performs the processing.
protected  void processException(java.lang.Throwable t)
          Processes an exception that was issued during pre processing, processing or post processing.
 void run()
          Will be invoked after the generation process has finished.
 void setProgressCount(int progressCount)
          Sets the progress count.
 void setProgressText(java.lang.String progressText)
          Sets the progress text.
 void setTextHeight(int textHeight)
          Sets the height of the text area.
 void start()
          Starts the processing.
protected  void updatePage(boolean wait)
          Updates the page.
 
Methods inherited from class org.openbp.jaspira.gui.wizard.JaspiraWizardPage
getContentPanel, getFocusComponent, getFramePanel
 
Methods inherited from class org.openbp.swing.components.wizard.WizardPage
canCancel, canFinish, canMoveBackward, canMoveForward, getBackgroundImage, getDataModel, getDescription, getSequenceManager, getTitle, getWizard, getWizardImage, setBackgroundImage, setDescription, setTitle, setWizard, setWizardImage, updateNavigator
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

progressPanel

protected javax.swing.JPanel progressPanel
Panel for progress bar in the north region of the content pane


textPanel

protected javax.swing.JPanel textPanel
Panel for progress text output in the south region of the content pane

Constructor Detail

JaspiraWizardResultPage

public JaspiraWizardResultPage(Wizard wizard)
Constructor.

Parameters:
wizard - Wizard that owns the page
Method Detail

start

public void start()
Starts the processing. The methods first saves the status of the wizard controls and disables them all. After calling the preProcess() method, it will start a worker thread that calls the process() method. After the thread has terminated, the postProcess(boolean) method will be invoked.


handleWizardEvent

public void handleWizardEvent(WizardEvent event)
Handles a wizard event caused by this wizard page. If the page is being shown, the start() method will be invoked automatically.

Specified by:
handleWizardEvent in interface WizardListener
Overrides:
handleWizardEvent in class WizardPage
Parameters:
event - Event to handle

preProcess

protected abstract void preProcess()
                            throws java.lang.Exception
Prepares for processing. This method is called before the process() method is invoked. You may initialize the result page user interface here.

Throws:
java.lang.Exception

process

protected abstract void process()
                         throws java.lang.Exception
Performs the processing. This method is called from inside the Swing worker thread to perform the processing. In order to update the user interface, use the updatePage(boolean) method.

Throws:
java.lang.Exception

postProcess

protected abstract void postProcess(boolean success)
                             throws java.lang.Exception
Finishes the processing. This method is called after the process() method has terminated. You may reset the result page user interface here.

Parameters:
success - Parameter indicating success or failure of the process
Throws:
java.lang.Exception

processException

protected void processException(java.lang.Throwable t)
Processes an exception that was issued during pre processing, processing or post processing. Default behaviour is to show a popup dialog that displays the exception message.

Parameters:
t - Exception to handle

run

public void run()
Will be invoked after the generation process has finished.

Specified by:
run in interface java.lang.Runnable

getProgressCount

public int getProgressCount()
Gets the progress count.

Returns:
The current progress count (usually a value between 0 and 100) or -1 to prevent progress display (e. g. for indeterminate progress bars).

setProgressCount

public void setProgressCount(int progressCount)
Sets the progress count. Make sure to call updatePage(boolean) to display the change.

Parameters:
progressCount - The current progress count (usually a value between 0 and 100) or -1 to prevent progress display (e. g. for indeterminate progress bars).

getProgressText

public java.lang.String getProgressText()
Gets the progress text.


setProgressText

public void setProgressText(java.lang.String progressText)
Sets the progress text. Make sure to call updatePage(boolean) to display the change.


updatePage

protected void updatePage(boolean wait)
Updates the page. Call this method from inside the process() method to update the ui of the page.

Parameters:
wait - true Returns after the ui has been updated false Returns immediately

internalUpdatePage

protected void internalUpdatePage()
Updates the page. To be called from the event dispatch thread only - for internal use. Use the updatePage(boolean) method instead.


getProgressPanel

public javax.swing.JPanel getProgressPanel()
Gets the panel for progress bar in the north region of the content pane.


getTextPanel

public javax.swing.JPanel getTextPanel()
Gets the panel for progress text output in the south region of the content pane.


getProgressBar

public javax.swing.JProgressBar getProgressBar()
Gets the progress bar.


getTextArea

public javax.swing.JTextArea getTextArea()
Gets the message output window.


getConsole

public JConsole getConsole()
Gets the message output window.


setTextHeight

public void setTextHeight(int textHeight)
Sets the height of the text area.



Copyright © 2011. All Rights Reserved.