org.jfree.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 org.jfree.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.

Author:
David Gilbert
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
 
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()
          Checks, whether the user cancelled the dialog.
 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
 

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.

Parameters:
owner - the owner.
modal - modal?
title - the title.
firstPanel - the first panel.

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.

Parameters:
owner - the owner.
modal - modal?
title - the title.
firstPanel - the first panel.
Method Detail

getResult

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

Returns:
the result.

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.

Returns:
the number of steps.

canDoPreviousPanel

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

Returns:
boolean.

canDoNextPanel

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

Returns:
boolean.

canFinish

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

Returns:
boolean.

getWizardPanel

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

Parameters:
step - the current step.
Returns:
the panel.

actionPerformed

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

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
event - the event.

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()
Checks, whether the user cancelled the dialog.

Returns:
false.

createContent

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

Returns:
the panel.