org.openide.dialogs 7.23.1

org.openide
Class WizardDescriptor

java.lang.Object
  extended by org.openide.NotifyDescriptor
      extended by org.openide.DialogDescriptor
          extended by org.openide.WizardDescriptor
All Implemented Interfaces:
HelpCtx.Provider

public class WizardDescriptor
extends DialogDescriptor

Implements a basic "wizard" GUI system. A list of wizard panels may be specified and these may be traversed at the proper times using the "Previous" and "Next" buttons (or "Finish" on the last one).

Related Tutorial

See Also:
DialogDisplayer.createDialog(org.openide.DialogDescriptor)

Nested Class Summary
static class WizardDescriptor.ArrayIterator<Data>
          Special iterator that works on an array of Panels.
static interface WizardDescriptor.AsynchronousInstantiatingIterator<Data>
          Iterator for a wizard that needs to somehow instantiate new objects outside ATW queue.
static interface WizardDescriptor.AsynchronousValidatingPanel<Data>
          A special interface for panels that need to do additional asynchronous validation when Next or Finish button is clicked.
static interface WizardDescriptor.BackgroundInstantiatingIterator<Data>
          Iterator for a wizard that will create new objects after the wizard has been closed.
static interface WizardDescriptor.FinishablePanel<Data>
          A special interface for panel that needs to dynamically enabled Finish button.
static interface WizardDescriptor.FinishPanel<Data>
          Deprecated. 4.28 Use FinishablePanel instead.
static interface WizardDescriptor.InstantiatingIterator<Data>
          Iterator for a wizard that needs to somehow instantiate new objects.
static interface WizardDescriptor.Iterator<Data>
          Iterator on the sequence of panels.
static interface WizardDescriptor.Panel<Data>
          One wizard panel with a component on it.
static interface WizardDescriptor.ProgressInstantiatingIterator<Data>
          Iterator for a wizard that wants to notify users while instantiate is running by a progress bar.
static interface WizardDescriptor.ValidatingPanel<Data>
          A special interface for panels that need to do additional validation when Next or Finish button is clicked.
 
Nested classes/interfaces inherited from class org.openide.NotifyDescriptor
NotifyDescriptor.Confirmation, NotifyDescriptor.Exception, NotifyDescriptor.InputLine, NotifyDescriptor.Message
 
Field Summary
static Object FINISH_OPTION
          "Finish" button option.
static Object NEXT_OPTION
          "Next" button option.
static Object PREVIOUS_OPTION
          "Previous" button option.
static String PROP_AUTO_WIZARD_STYLE
          Set to true for enabling other properties.
static String PROP_CONTENT_BACK_COLOR
          Set background color of content pane.
static String PROP_CONTENT_DATA
          Represents array of content items.
static String PROP_CONTENT_DISPLAYED
          Set to true for showing content pane (steps) in the left pane.
static String PROP_CONTENT_FOREGROUND_COLOR
          Set foreground color of content pane.
static String PROP_CONTENT_NUMBERED
          Set to true for displaying numbers in the content.
static String PROP_CONTENT_SELECTED_INDEX
          Represents index of content item which will be highlighted.
static String PROP_ERROR_MESSAGE
          Error message that is displayed at the bottom of the wizard.
static String PROP_HELP_DISPLAYED
          Set to true for showing help pane (HTML browser) in the left pane.
static String PROP_HELP_URL
          Represents URL of help displayed in left pane.
static String PROP_IMAGE
          Set the image which will be displayed in the left pane (behind the content).
static String PROP_IMAGE_ALIGNMENT
          Set the side where the image should be drawn.
static String PROP_INFO_MESSAGE
          Informational message that is displayed at the bottom of the wizard.
static String PROP_LEFT_DIMENSION
          Dimension of left pane, should be same as dimension of PROP_IMAGE.
static String PROP_WARNING_MESSAGE
          Warning message that is displayed at the bottom of the wizard.
 
Fields inherited from class org.openide.DialogDescriptor
BOTTOM_ALIGN, DEFAULT_ALIGN, PROP_BUTTON_LISTENER, PROP_CLOSING_OPTIONS, PROP_HELP_CTX, PROP_LEAF, PROP_MODAL, PROP_OPTIONS_ALIGN, RIGHT_ALIGN
 
Fields inherited from class org.openide.NotifyDescriptor
CANCEL_OPTION, CLOSED_OPTION, DEFAULT_OPTION, ERROR_MESSAGE, INFORMATION_MESSAGE, NO_OPTION, OK_CANCEL_OPTION, OK_OPTION, PLAIN_MESSAGE, PROP_DETAIL, PROP_ERROR_NOTIFICATION, PROP_INFO_NOTIFICATION, PROP_MESSAGE, PROP_MESSAGE_TYPE, PROP_OPTION_TYPE, PROP_OPTIONS, PROP_TITLE, PROP_VALID, PROP_VALUE, PROP_WARNING_NOTIFICATION, QUESTION_MESSAGE, WARNING_MESSAGE, YES_NO_CANCEL_OPTION, YES_NO_OPTION, YES_OPTION
 
Constructor Summary
protected WizardDescriptor()
          Constructor for subclasses.
  WizardDescriptor(WizardDescriptor.Iterator<Data> panels, Data settings)
          Create wizard for a sequence of panels, passing some settings to the panels.
  WizardDescriptor(WizardDescriptor.Iterator<WizardDescriptor> panels)
          Create wizard for a sequence of panels, with settings defaulted to this.
  WizardDescriptor(WizardDescriptor.Panel<Data>[] wizardPanels, Data settings)
          Create a new wizard from a fixed list of panels, passing some settings to the panels.
  WizardDescriptor(WizardDescriptor.Panel<WizardDescriptor>[] wizardPanels)
          Create a new wizard from a fixed list of panels with settings defaulted to this.
 
Method Summary
 void doCancelClick()
          Cancels the wizard - if Cancel button is enabled.
 void doFinishClick()
          Finishes the wizard - if Finish button is enabled.
 void doNextClick()
          Moves the wizard to its next panel - if Next button is enabled.
 void doPreviousClick()
          Moves the wizard to its previous panel - if Previous button is enabled.
 Set getInstantiatedObjects()
          Returns set of newly instantiated objects if the wizard has been correctly finished.
 Map<String,Object> getProperties()
          Read only map with stored properties.
 Object getProperty(String name)
          Getter for stored property.
 MessageFormat getTitleFormat()
          Getter for current format to be used to format title.
 Object getValue()
          Overriden to ensure that returned value is one of the XXX_OPTION constants.
protected  void initialize()
          Initializes settings.
 void putProperty(String name, Object value)
          Allows Panels that use WizardDescriptor as settings object to store additional settings into it.
 void setAdditionalOptions(Object[] options)
          Define an explicit description of the set of additional user-selectable options.
 void setClosingOptions(Object[] options)
          Setter for list of options that close the dialog.
 void setHelpCtx(HelpCtx helpCtx)
          Set new help context for this dialog descriptor.
 void setOptions(Object[] options)
          Set options permitted by the wizard considered as a DialogDescriptor.
 void setPanels(WizardDescriptor.Iterator panels)
          Deprecated. use setPanelsAndSettings if needed.
<Data> void
setPanelsAndSettings(WizardDescriptor.Iterator<Data> panels, Data settings)
          Set a different list of panels.
 void setTitleFormat(MessageFormat format)
          Sets the message format to create title of the wizard.
 void setValue(Object value)
          Overrides superclass method.
protected  void updateState()
          Updates buttons to reflect the current state of the panels.
 
Methods inherited from class org.openide.DialogDescriptor
getButtonListener, getClosingOptions, getHelpCtx, getOptionsAlign, isLeaf, isModal, setButtonListener, setLeaf, setModal, setOptionsAlign
 
Methods inherited from class org.openide.NotifyDescriptor
addPropertyChangeListener, createNotificationLineSupport, firePropertyChange, getAdditionalOptions, getDefaultValue, getMessage, getMessageType, getNotificationLineSupport, getOptions, getOptionType, getTitle, getTitleForType, isValid, removePropertyChangeListener, setMessage, setMessageType, setOptionType, setTitle, setValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NEXT_OPTION

public static final Object NEXT_OPTION
"Next" button option.

See Also:
setOptions(java.lang.Object[])

FINISH_OPTION

public static final Object FINISH_OPTION
"Finish" button option.

See Also:
setOptions(java.lang.Object[])

PREVIOUS_OPTION

public static final Object PREVIOUS_OPTION
"Previous" button option.

See Also:
setOptions(java.lang.Object[])

PROP_AUTO_WIZARD_STYLE

public static final String PROP_AUTO_WIZARD_STYLE
Set to true for enabling other properties. It is relevant only on initialization (client property in first panel). Recommended to be set to true in most cases, then wizard can display wizard steps on the left side, create a subtitle on active panel, display of error messages and others. When false or not present in JComponent.getClientProperty(), then supplied panel is used directly without content, help or panel name auto layout. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Boolean type property.

Since:
7.8
See Also:
Constant Field Values

PROP_HELP_DISPLAYED

public static final String PROP_HELP_DISPLAYED
Set to true for showing help pane (HTML browser) in the left pane. It is relevant only on initialization (client property in first panel). Help content will be taken from property PROP_HELP_URL. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Boolean type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_DISPLAYED

public static final String PROP_CONTENT_DISPLAYED
Set to true for showing content pane (steps) in the left pane. It is relevant only on initialization (client property in first panel). Content will be constructed from property PROP_CONTENT_DATA. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Boolean type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_NUMBERED

public static final String PROP_CONTENT_NUMBERED
Set to true for displaying numbers in the content. It is relevant only on initialization (client property in first panel). The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Boolean type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_SELECTED_INDEX

public static final String PROP_CONTENT_SELECTED_INDEX
Represents index of content item which will be highlighted. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Integer type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_DATA

public static final String PROP_CONTENT_DATA
Represents array of content items. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. String[] type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_BACK_COLOR

public static final String PROP_CONTENT_BACK_COLOR
Set background color of content pane. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Color type property.

Since:
7.8
See Also:
Constant Field Values

PROP_CONTENT_FOREGROUND_COLOR

public static final String PROP_CONTENT_FOREGROUND_COLOR
Set foreground color of content pane. The value is taken from WizardDescriptor.getProperty() or ((JComponent)Panel.getComponent()).getClientProperty() in this order. Color type property.

Since:
7.8
See Also:
Constant Field Values

PROP_IMAGE

public static final String PROP_IMAGE
Set the image which will be displayed in the left pane (behind the content). The value is taken from WizardDescriptor.getProperty() or ((JComponent) Panel.getComponent()).getClientProperty() in this order. java.awt.Image type property.

Since:
7.8
See Also:
Constant Field Values

PROP_IMAGE_ALIGNMENT

public static final String PROP_IMAGE_ALIGNMENT
Set the side where the image should be drawn. The value is taken from WizardDescriptor.getProperty() or ((JComponent) Panel.getComponent()).getClientProperty() in this order. String type property.

Since:
7.8
See Also:
Constant Field Values

PROP_LEFT_DIMENSION

public static final String PROP_LEFT_DIMENSION
Dimension of left pane, should be same as dimension of PROP_IMAGE. It is relevant only on initialization (client property in first panel). The value is taken from WizardDescriptor.getProperty() or ((JComponent) Panel.getComponent()).getClientProperty() in this order. Dimension type property.

Since:
7.8
See Also:
Constant Field Values

PROP_HELP_URL

public static final String PROP_HELP_URL
Represents URL of help displayed in left pane. The value is taken from WizardDescriptor.getProperty() or ((JComponent) Panel.getComponent()).getClientProperty() in this order. URL type property.

Since:
7.8
See Also:
Constant Field Values

PROP_ERROR_MESSAGE

public static final String PROP_ERROR_MESSAGE
Error message that is displayed at the bottom of the wizard. Message informs user why the panel is invalid and possibly why the Next/Finish buttons were disabled. The property must be set to null value to clear the message. The value is taken from WizardDescriptor.getProperty(). String type property.

Since:
7.8
See Also:
Constant Field Values

PROP_WARNING_MESSAGE

public static final String PROP_WARNING_MESSAGE
Warning message that is displayed at the bottom of the wizard. Message informs user about possible non fatal problems with current enterd values in the wizard panel. Next/Finish buttons are usually enabled. The property must be set to null value to clear the message. The value is taken from WizardDescriptor.getProperty(). String type property.

Since:
7.8
See Also:
Constant Field Values

PROP_INFO_MESSAGE

public static final String PROP_INFO_MESSAGE
Informational message that is displayed at the bottom of the wizard. Message informs user usually about need to fill some field or similar requirements or other non fatal problems. Next/Finish button are usually enabled. The property must be set to null value to clear the message. The value is taken from WizardDescriptor.getProperty(). String type property.

Since:
7.8
See Also:
Constant Field Values
Constructor Detail

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Panel<Data>[] wizardPanels,
                        Data settings)
Create a new wizard from a fixed list of panels, passing some settings to the panels.

Parameters:
wizardPanels - the panels to use
settings - the settings to pass to panels, or null
See Also:
WizardDescriptor(WizardDescriptor.Iterator, Object)

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Panel<WizardDescriptor>[] wizardPanels)
Create a new wizard from a fixed list of panels with settings defaulted to this.

Parameters:
wizardPanels - the panels to use
See Also:
WizardDescriptor(WizardDescriptor.Iterator, Object)

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Iterator<Data> panels,
                        Data settings)
Create wizard for a sequence of panels, passing some settings to the panels.

Parameters:
panels - iterator over all WizardDescriptor.Panels that can appear in the wizard
settings - the settings to provide to the panels (may be any data understood by them)
See Also:
WizardDescriptor.Panel.readSettings(Data), WizardDescriptor.Panel.storeSettings(Data)

WizardDescriptor

protected WizardDescriptor()
Constructor for subclasses. The expected use is to call this constructor and then call setPanelsAndSettings(org.openide.WizardDescriptor.Iterator, Data) to provide the right iterator, panels and data the wizard should use. This allows to eliminate unchecked warnings as described in bug #102261.

Since:
7.4

WizardDescriptor

public WizardDescriptor(WizardDescriptor.Iterator<WizardDescriptor> panels)
Create wizard for a sequence of panels, with settings defaulted to this.

Parameters:
panels - iterator over all WizardDescriptor.Panels that can appear in the wizard
Method Detail

initialize

protected void initialize()
Initializes settings.

Overrides:
initialize in class NotifyDescriptor

setPanels

@Deprecated
public final void setPanels(WizardDescriptor.Iterator panels)
Deprecated. use setPanelsAndSettings if needed.

Set a different list of panels. Correctly updates the buttons.

Parameters:
panels - the new list of WizardDescriptor.Panels

setPanelsAndSettings

public final <Data> void setPanelsAndSettings(WizardDescriptor.Iterator<Data> panels,
                                              Data settings)
Set a different list of panels. Correctly updates the buttons.

Parameters:
panels - the new list of WizardDescriptor.Panels
settings - the new settings that will be passed to the panels
Since:
7.2

setOptions

public void setOptions(Object[] options)
Set options permitted by the wizard considered as a DialogDescriptor. Substitutes tokens such as NEXT_OPTION with the actual button.

Overrides:
setOptions in class NotifyDescriptor
Parameters:
options - the options to set
See Also:
NotifyDescriptor.getOptions()

setAdditionalOptions

public void setAdditionalOptions(Object[] options)
Description copied from class: NotifyDescriptor
Define an explicit description of the set of additional user-selectable options. Additional options are supposed to be used for help button, etc.

The usual value for the options parameter is an array of Strings. But the parameter type is an array of Objects. Its interpretation depends on its type:

Component
The component is added to the button row directly.
Icon
A JButton is created with this icon as its label.
anything else
The Object is converted to a string and the result is used to label a JButton.

Overrides:
setAdditionalOptions in class NotifyDescriptor
Parameters:
options - the options to set
See Also:
NotifyDescriptor.getOptions()

setClosingOptions

public void setClosingOptions(Object[] options)
Description copied from class: DialogDescriptor
Setter for list of options that close the dialog. Special values are:

Overrides:
setClosingOptions in class DialogDescriptor
Parameters:
options - the options to set

getValue

public Object getValue()
Overriden to ensure that returned value is one of the XXX_OPTION constants.

Overrides:
getValue in class NotifyDescriptor
Returns:
an Object indicating the option selected by the user
See Also:
NotifyDescriptor.setValue(java.lang.Object)

setTitleFormat

public void setTitleFormat(MessageFormat format)
Sets the message format to create title of the wizard. The format can take two parameters. The name of the current component and the name returned by the iterator that defines the order of panels. The default value is something like
   {0} wizard {1}
 
That can be expanded to something like this
   EJB wizard (1 of 8)
 
This method allows anybody to provide own title format.

Parameters:
format - message format to the title

getTitleFormat

public MessageFormat getTitleFormat()
Getter for current format to be used to format title.

Returns:
the format
See Also:
setTitleFormat(java.text.MessageFormat)

putProperty

public void putProperty(String name,
                        Object value)
Allows Panels that use WizardDescriptor as settings object to store additional settings into it.

Parameters:
name - name of the property
value - value of property

getProperty

public Object getProperty(String name)
Getter for stored property.

Parameters:
name - name of the property
Returns:
the value

getProperties

public Map<String,Object> getProperties()
Read only map with stored properties.

Returns:
read only map of properties stored using putProperty(java.lang.String, java.lang.Object) method
Since:
7.2

setHelpCtx

public void setHelpCtx(HelpCtx helpCtx)
Description copied from class: DialogDescriptor
Set new help context for this dialog descriptor. Fires property change event if successful.

The implementation should automatically display a help button among the secondary options, without your needing to specify it, if the help context on the descriptor is neither null nor HelpCtx.DEFAULT_HELP. If the descriptor is null, this feature will be disabled (you can still add your own help button manually if you wish, of course). If DEFAULT_HELP (the default), normally the button will also be disabled, however if the inner pane is a component and this component has an associated help ID, that will be used automatically. So most users should never need to manually add a help button: call this method with the correct context, or associate an ID with the displayed component. Note that to set it to null you must explicitly call this method; passing null in the constructor actually sets it to DEFAULT_HELP.

Overrides:
setHelpCtx in class DialogDescriptor
Parameters:
helpCtx - new help context, can be null (no help)
See Also:
DialogDescriptor.getHelpCtx()

getInstantiatedObjects

public Set getInstantiatedObjects()
Returns set of newly instantiated objects if the wizard has been correctly finished. Returns the empty set as default. If the wizard uses the InstantiatingIterator then WizardDescriptor returns a set of Object as same as InstantiatingIterator.instantiate().

Returns:
a set of Objects created
Throws:
IllegalStateException - if this method is called on the unfinished wizard
Since:
4.41

updateState

protected void updateState()
Updates buttons to reflect the current state of the panels. Can be overridden by subclasses to change the options to special values. In such a case use:

   super.updateState ();
   setOptions (...);
 


setValue

public void setValue(Object value)
Overrides superclass method. Adds reseting of wizard for CLOSED_OPTION.

Overrides:
setValue in class NotifyDescriptor
Parameters:
value - the chosen value
See Also:
NotifyDescriptor.getValue()

doNextClick

public final void doNextClick()
Moves the wizard to its next panel - if Next button is enabled. Always call this method from EDT thread.

Since:
7.19

doPreviousClick

public final void doPreviousClick()
Moves the wizard to its previous panel - if Previous button is enabled. Always call this method from EDT thread.

Since:
7.19

doFinishClick

public final void doFinishClick()
Finishes the wizard - if Finish button is enabled. Always call this method from EDT thread.

Since:
7.19

doCancelClick

public final void doCancelClick()
Cancels the wizard - if Cancel button is enabled. Always call this method from EDT thread.

Since:
7.19

org.openide.dialogs 7.23.1

Built on December 7 2011.  |  Portions Copyright 1997-2011 Oracle. All rights reserved.