com.ozziefix.jlwizard
Class Wizard

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.ozziefix.jlwizard.Wizard
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
SimpleWizard

public abstract class Wizard
extends javax.swing.JDialog

A Wizard is a Swing JDialog that contains a number of WizardPages, a number of WizardActions, a navigation bar and a WizardModel.

Version:
$Revision: 1.1 $
Author:
Jurgen Lust
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
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
Wizard()
          Creates a new Wizard object.
Wizard(java.awt.Dialog parent)
          Creates a new Wizard object.
Wizard(java.awt.Frame parent)
          Creates a new Wizard object.
 
Method Summary
 void addPage(java.lang.String forwardName, WizardPage page)
           Add a page to the wizard
 void addWizardListener(WizardListener listener)
           Add a WizardListener to this wizard
 void cancel()
           Cancel the wizard, resetting the model.
 PageForward findPageForward(java.lang.String forwardName)
           find the PageForward for the given forwardName
 void finish()
           Finish the wizard.
 WizardAction getCancelAction()
           The CancelAction of a Wizard is the WizardAction that should be executed when the cancel button is clicked.
 java.lang.String getDescription()
           The description of the wizard
 WizardModel getModel()
           The WizardModel is an object that contains the data this wizard will work with.
 WizardNavigator getNavigator()
           The WizardNavigator allows the user to navigate through the wizard.
 WizardPage getPage(java.lang.String forwardName)
           Get the wizard page with the specified forwardName
 WizardPage getSelectedPage()
           Get the selected WizardPage.
 WizardAction getStartAction()
           The StartAction is the WizardAction that should be executed when the wizard is started.
 java.lang.String getWizardName()
           The name of the wizard
protected abstract  void handleError(WizardException exception)
           Show an error message.
 void perform(WizardAction action, boolean validateAndStore)
           This is where the navigation of the wizard happens.
 void removeAllWizardListeners()
           Remove all WizardListeners from this wizard.
 void removePage(java.lang.String forwardName)
           Remove a page from the wizard
 void removeWizardListener(WizardListener listener)
           remove a WizardListener from this wizard
 void setCancelAction(WizardAction cancelAction)
           The CancelAction of a Wizard is the WizardAction that should be executed when the cancel button is clicked.
 void setDescription(java.lang.String description)
           The description of the wizard
 void setModel(WizardModel model)
           The WizardModel is an object that contains the data this wizard will work with.
 void setNavigator(WizardNavigator navigator)
           The WizardNavigator allows the user to navigate through the wizard.
 void setStartAction(WizardAction startAction)
           The StartAction is the WizardAction that should be executed when the wizard is started.
 void setWizardName(java.lang.String wizardName)
           The name of the wizard
protected abstract  void showPage(PageForward forward)
           Show the specified WizardPage.
 void start()
           This is the main entry point of the Wizard.
 void start(boolean modal)
           This is the main entry point of the Wizard.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, 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, finalize, 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, processEvent, processWindowFocusEvent, processWindowStateEvent, 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, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Wizard

public Wizard()
       throws java.awt.HeadlessException
Creates a new Wizard object.

Throws:
java.awt.HeadlessException - if GraphicsEnvironment.isHeadless() returns true

Wizard

public Wizard(java.awt.Dialog parent)
       throws java.awt.HeadlessException
Creates a new Wizard object.

Parameters:
parent - the parent frame of this wizard dialog
Throws:
java.awt.HeadlessException - if GraphicsEnvironment.isHeadless() returns true

Wizard

public Wizard(java.awt.Frame parent)
       throws java.awt.HeadlessException
Creates a new Wizard object.

Parameters:
parent - The parent frame of this wizard dialog
Throws:
java.awt.HeadlessException - if GraphicsEnvironment.isHeadless() returns true
Method Detail

setCancelAction

public void setCancelAction(WizardAction cancelAction)

The CancelAction of a Wizard is the WizardAction that should be executed when the cancel button is clicked.

Parameters:
cancelAction - The cancelAction to set.

getCancelAction

public WizardAction getCancelAction()

The CancelAction of a Wizard is the WizardAction that should be executed when the cancel button is clicked.

Returns:
Returns the cancelAction.

setDescription

public void setDescription(java.lang.String description)

The description of the wizard

Parameters:
description - The description to set.

getDescription

public java.lang.String getDescription()

The description of the wizard

Returns:
Returns the description.

setModel

public void setModel(WizardModel model)

The WizardModel is an object that contains the data this wizard will work with.

Parameters:
model - the model of the wizard

getModel

public WizardModel getModel()

The WizardModel is an object that contains the data this wizard will work with.

Returns:
the model of the wizard

setNavigator

public void setNavigator(WizardNavigator navigator)

The WizardNavigator allows the user to navigate through the wizard. Usually this is a button bar in the bottom of the wizard dialog.

Parameters:
navigator - The navigator to set.

getNavigator

public WizardNavigator getNavigator()

The WizardNavigator allows the user to navigate through the wizard. Usually this is a button bar in the bottom of the wizard dialog.

Returns:
Returns the navigator.

getPage

public WizardPage getPage(java.lang.String forwardName)

Get the wizard page with the specified forwardName

Parameters:
forwardName - the identifier of the page
Returns:
the wizard page, or null if the wizard doesn't contain a page with the specified name

getSelectedPage

public WizardPage getSelectedPage()

Get the selected WizardPage.

Returns:
the WizardPage that is currently selected, or null if no page is selected

setStartAction

public void setStartAction(WizardAction startAction)

The StartAction is the WizardAction that should be executed when the wizard is started.

Parameters:
startAction - The startAction to set.

getStartAction

public WizardAction getStartAction()

The StartAction is the WizardAction that should be executed when the wizard is started. The StartAction determines which WizardPage will be visible first.

Returns:
Returns the startAction.

setWizardName

public void setWizardName(java.lang.String wizardName)

The name of the wizard

Parameters:
wizardName - The wizardName to set.

getWizardName

public java.lang.String getWizardName()

The name of the wizard

Returns:
Returns the wizardName.

addPage

public void addPage(java.lang.String forwardName,
                    WizardPage page)
             throws WizardException

Add a page to the wizard

Parameters:
forwardName - the identifier of the page
page - the page to be added
Throws:
WizardException - when the forwardName is null

cancel

public void cancel()

Cancel the wizard, resetting the model.


findPageForward

public PageForward findPageForward(java.lang.String forwardName)

find the PageForward for the given forwardName

Parameters:
forwardName - the name of the page
Returns:
the PageForward

perform

public final void perform(WizardAction action,
                          boolean validateAndStore)

This is where the navigation of the wizard happens.

The followings things happen when this method is invoked:

  1. If a page is currently selected, its validateAndStore() method is invoked.
  2. If a page is currently selected, its store() method is invoked, storing the input of that page in the wizard model.
  3. The perform() method of the specified WizardAction is invoked, returning a PageForward.
  4. The resulting WizardPage is selected.
  5. The load() method of the selected WizardPage is invoked, loading the relevant data from the WizardModel into the page.
  6. The selected WizardPage is displayed.

Note that all this is done in an ActionThread.

Parameters:
action - The WizardAction that should be executed
validateAndStore - should the input of the current page be validated first?

addWizardListener

public void addWizardListener(WizardListener listener)

Add a WizardListener to this wizard

Parameters:
listener - the WizardListener to add

finish

public void finish()

Finish the wizard.


removeAllWizardListeners

public void removeAllWizardListeners()

Remove all WizardListeners from this wizard.


removePage

public void removePage(java.lang.String forwardName)

Remove a page from the wizard

Parameters:
forwardName - the identifier of the page

removeWizardListener

public void removeWizardListener(WizardListener listener)

remove a WizardListener from this wizard

Parameters:
listener - the WizardListener to remove

start

public void start()
           throws WizardException

This is the main entry point of the Wizard. When this method is invoked, the startaction of the wizard is executed and then the wizard is set visible and modal.

Throws:
WizardException - when the startAction cannot be executed

start

public void start(boolean modal)
           throws WizardException

This is the main entry point of the Wizard. When this method is invoked, the startaction of the wizard is executed and then the wizard is set visible.

Parameters:
modal - should the wizard dialog be modal
Throws:
WizardException - when the startAction cannot be executed

handleError

protected abstract void handleError(WizardException exception)

Show an error message. The way this is done depends on the specific implementation of the Wizard, therefore this method is abstract.

Parameters:
exception - the error that should be displayed

showPage

protected abstract void showPage(PageForward forward)
                          throws ForwardException

Show the specified WizardPage. The way this is done depends on the specific implementation of the Wizard, therefore this method is abstract.

Parameters:
forward - the PageForward that refers to the WizardPage
Throws:
ForwardException - when the page cannot be shown


Copyright © 2004 - 2005 by Jurgen Lust.