com.jrefinery.ui
Class WizardDialog

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 com.jrefinery.ui.WizardDialog
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class WizardDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener

A dialog that presents the user with a sequence of steps for completing a task. The dialog contains "Next" and "Previous" buttons, allowing the user to navigate through the task.

When the user backs up by one or more steps, the dialog keeps the completed steps so that they can be reused if the user doesn't change anything - this handles the cases where the user backs up a few steps just to review what has been completed.

But if the user changes some options in an earlier step, then the dialog may have to discard the later steps and have them repeated.

THIS CLASS IS NOT WORKING CORRECTLY YET.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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  WizardPanel currentPanel
          A reference to the current panel;
protected  java.util.List panels
          A list of references to the panels the user has already seen - used for navigating through the steps that have already been completed;
protected  java.lang.Object result
          The end result of the wizard sequence;
protected  int step
          The current step in the wizard process (starting at step zero);
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
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
WizardDialog(javax.swing.JDialog owner, boolean modal, java.lang.String title, WizardPanel firstPanel)
          Standard constructor - builds and returns a new WizardDialog;
WizardDialog(javax.swing.JFrame owner, boolean modal, java.lang.String title, WizardPanel firstPanel)
          Standard constructor - builds a new WizardDialog owned by the specified JFrame.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Handles events.
 boolean canDoNextPanel()
          Returns true if there is a 'next' panel, and false otherwise.
 boolean canDoPreviousPanel()
          Returns true if it is possible to back up to the previous panel, and false otherwise.
 boolean canFinish()
          Returns true if it is possible to finish the sequence at this point (possibly with defaults for the remaining entries).
 javax.swing.JPanel createContent()
          Creates a panel containing the user interface for the dialog.
 void finish()
          Finishes the wizard.
 java.lang.Object getResult()
          Returns the result of the wizard sequence.
 int getStepCount()
          Returns the total number of steps in the wizard sequence, if this number is known.
 WizardPanel getWizardPanel(int step)
          Returns the panel for the specified step (steps are numbered from zero).
 boolean isCancelled()
          Was the wizard cancelled?
 void next()
          Displays the next step in the wizard sequence.
 void previous()
          Handles a click on the "previous" button, by displaying the previous panel in the sequence.
 
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, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

result

protected java.lang.Object result
The end result of the wizard sequence;


step

protected int step
The current step in the wizard process (starting at step zero);


currentPanel

protected WizardPanel currentPanel
A reference to the current panel;


panels

protected java.util.List panels
A list of references to the panels the user has already seen - used for navigating through the steps that have already been completed;

Constructor Detail

WizardDialog

public WizardDialog(javax.swing.JDialog owner,
                    boolean modal,
                    java.lang.String title,
                    WizardPanel firstPanel)
Standard constructor - builds and returns a new WizardDialog;


WizardDialog

public WizardDialog(javax.swing.JFrame owner,
                    boolean modal,
                    java.lang.String title,
                    WizardPanel firstPanel)
Standard constructor - builds a new WizardDialog owned by the specified JFrame.

Method Detail

getResult

public java.lang.Object getResult()
Returns the result of the wizard sequence.


getStepCount

public int getStepCount()
Returns the total number of steps in the wizard sequence, if this number is known. Otherwise this method returns zero. Subclasses should override this method unless the number of steps is not known.


canDoPreviousPanel

public boolean canDoPreviousPanel()
Returns true if it is possible to back up to the previous panel, and false otherwise.


canDoNextPanel

public boolean canDoNextPanel()
Returns true if there is a 'next' panel, and false otherwise.


canFinish

public boolean canFinish()
Returns true if it is possible to finish the sequence at this point (possibly with defaults for the remaining entries).


getWizardPanel

public WizardPanel getWizardPanel(int step)
Returns the panel for the specified step (steps are numbered from zero).


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Handles events.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

previous

public void previous()
Handles a click on the "previous" button, by displaying the previous panel in the sequence.


next

public void next()
Displays the next step in the wizard sequence.


finish

public void finish()
Finishes the wizard.


isCancelled

public boolean isCancelled()
Was the wizard cancelled?


createContent

public javax.swing.JPanel createContent()
Creates a panel containing the user interface for the dialog.



Copyright © 2003 MBARI.

The Monterey Bay Aquarium Research Institute (MBARI) provides this documentation and code "as is", with no warranty, express or implied, of its quality or consistency. It is provided without support and without obligation on the part of MBARI to assist in its use, correction, modification, or enhancement.