Package org.jfree.ui

Class 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, java.awt.Window.Type
      • 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 
      Modifier and Type Field Description
      private WizardPanel currentPanel
      A reference to the current panel.
      private javax.swing.JButton finishButton
      A handy reference to the "finish" button.
      private javax.swing.JButton helpButton
      A handy reference to the "help" button.
      private javax.swing.JButton nextButton
      A handy reference to the "next" button.
      private 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.
      private javax.swing.JButton previousButton
      A handy reference to the "previous" button.
      private java.lang.Object result
      The end result of the wizard sequence.
      private 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 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      private void enableButtons()
      Enables/disables the buttons according to the current step.
      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, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
      • Methods 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, 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, 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, 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • result

        private java.lang.Object result
        The end result of the wizard sequence.
      • step

        private int step
        The current step in the wizard process (starting at step zero).
      • currentPanel

        private WizardPanel currentPanel
        A reference to the current panel.
      • panels

        private 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.
      • previousButton

        private javax.swing.JButton previousButton
        A handy reference to the "previous" button.
      • nextButton

        private javax.swing.JButton nextButton
        A handy reference to the "next" button.
      • finishButton

        private javax.swing.JButton finishButton
        A handy reference to the "finish" button.
      • helpButton

        private javax.swing.JButton helpButton
        A handy reference to the "help" button.
    • 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.
      • enableButtons

        private void enableButtons()
        Enables/disables the buttons according to the current step. A good idea would be to ask the panels to return the status...
      • 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.