|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.ibm.as400.ui.framework.java.WizardManager
public class WizardManager extends Object implements PaneManager, WindowManager
Creates a wizard panel containing a series of windows which guide the user through a particular task. Each window consists of a panel defined using the Panel Definition Markup Language (PDML). The wizard may be either a standalone window or a modal dialog.
WizardManager
performs the following processing on behalf
of the application:
PanelManager
for each wizard panel
specified in the PDML, and attaches the panels to the wizard.
DataBean
accessor methods
identified in the PDML.
EventHandler
s
specified in the PDML with the appropriate UI components.
The total size of the wizard is a function of the size of the largest wizard panel.
To locate a wizard definition, WizardManager
needs three pieces of information:
WIZARD
tag in the PDML.
The framework first searches the specified location for a file with a name matching
the wizard name, and an extension of .pdml.ser
. If the serialized
wizard definition is not found, an attempt will be made to load a ResourceBundle
and a PDML file which correspond to the specified resource name. If the resources cannot
be located a DisplayManagerException
will be thrown.
The default path through the wizard panels is sequential. Applications may dynamically
customize the order in which panels are displayed. This is done by defining a class
that implements the WizardStateMachine
interface, and passing an instance
of this class to the WizardManager
.
If desired, a "task list" may be defined in the wizard definition. The task list will appear on the left-hand side of the wizard window, and will show the user's progress through the wizard by "checking off" each task as it is performed.
MyWizard
is defined in the file TestPanels.pdml
,
and that a properties file TestPanels.properties
is associated with the wizard
definition. Both files reside in the directory com/ourCompany/ourPackage
,
which is accessible from a directory defined in the classpath, or from a ZIP or JAR file
defined in the classpath. The following code creates the wizard and displays it:
import com.ibm.as400.ui.framework.java.*; // Create the wizard manager. Parameters: // 1. Resource name of the wizard definition // 2. Name of wizard // 3. List of DataBeans omitted // 5. Wizard navigation defaulted to sequential WizardManager wm = null; try { wm = new WizardManager("com.ourCompany.ourPackage.TestPanels", "MyWizard", null, null); } catch (DisplayManagerException e) { e.displayUserMessage(null); System.exit(-1); } // Display the wizard wm.setVisible(true);Once the
DataBean
s that supply data to the wizard panels have been
implemented and the attributes have been identified in the PDML,
the following code may be used to construct a fully-functioning wizard:
import com.ibm.as400.ui.framework.java.*; import java.awt.Frame; // Instantiate the objects which supply data to the wizard TestDataBean1 db1 = new TestDataBean1(); TestDataBean2 db2 = new TestDataBean2(); // Initialize the objects db1.load(); db2.load(); // Set up to pass the objects to the UI framework DataBean[] dataBeans = { db1, db2 }; // Create an application-defined state machine for // customized navigation through the panels MyStateMachine sm = new MyStateMachine(); // Create the wizard manager. Parameters: // 1. Resource name of the wizard definition // 2. Name of wizard // 3. List of DataBeans // 4. Owner frame window // 5. Application-defined state machine Frame owner; ... WizardManager wm = null; try { wm = new WizardManager("com.ourCompany.ourPackage.TestPanels", "MyWizard", dataBeans, owner, sm); } catch (DisplayManagerException e) { e.displayUserMessage(null); System.exit(-1); } // Display the wizard wm.setVisible(true);
java com.ibm.as400.ui.framework.java.WizardManager [-serialize] [-locale <language code>_<country or region code>_<variant>] <resource name> <wizard name>Options:
.pdml.ser
.
If this option is specified the wizard will not be displayed on the screen.
WIZARD
tag in the PDML document.
Examples:
java com.ibm.as400.ui.framework.java.WizardManager com.ourCompany.ourPackage.TestPanels MyWizard
java com.ibm.as400.ui.framework.java.WizardManager -serialize com.ourCompany.ourPackage.TestPanels MyWizard
java com.ibm.as400.ui.framework.java.WizardManager -locale en_UK com.ourCompany.ourPackage.TestPanels MyWizard
java com.ibm.as400.ui.framework.java.WizardManager -serialize -locale en_UK com.ourCompany.ourPackage.TestPanels MyWizard
DisplayManagerException
,
WizardStateMachine
,
PanelManager
Modifier and Type | Field and Description |
---|---|
static int |
BACK_BUTTON
Used to identify the Back button on the wizard panel. |
static int |
CANCEL_BUTTON
Used to identify the Cancel button on the wizard panel. |
static int |
FINISH_BUTTON
Used to identify the Finish button on the wizard panel. |
static int |
HELP_BUTTON
Used to identify the Help button on the wizard panel. |
static int |
NEXT_BUTTON
Used to identify the Next button on the wizard panel. |
Fields inherited from interface com.ibm.as400.ui.framework.java.WindowManager |
---|
OFFSET_FROM_OWNER |
Constructor and Description |
---|
WizardManager(String baseName,
Locale locale,
String wizardName)
Constructs a WizardManager object for the specified wizard,
and then serializes the wizard definition. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Container container,
WizardStateMachine stateMachine)
Constructs a WizardManager for the specified wizard,
using the specified container. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Container container,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager for the specified wizard,
using the specified container. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Container container,
WizardStateMachine stateMachine,
boolean resize,
boolean loadInBackground)
Constructs a WizardManager for the specified wizard,
using the specified container. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Frame owner,
WizardStateMachine stateMachine)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Frame owner,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
Frame owner,
WizardStateMachine stateMachine,
boolean resize,
boolean loadInBackground)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
WizardStateMachine stateMachine)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
Locale locale,
String wizardName,
DataBean[] dataBeans,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
Container container,
WizardStateMachine stateMachine)
Constructs a WizardManager for the specified wizard,
using the specified container. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
Container container,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager for the specified wizard,
using the specified container. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
Frame owner,
WizardStateMachine stateMachine)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
Frame owner,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
WizardStateMachine stateMachine)
Constructs a WizardManager object for the specified wizard. |
WizardManager(String baseName,
String wizardName,
DataBean[] dataBeans,
WizardStateMachine stateMachine,
boolean resize)
Constructs a WizardManager object for the specified wizard. |
Modifier and Type | Method and Description |
---|---|
void |
activatePanel()
Runs the activation handlers for the currently selected pane. |
void |
addBackListener(ActionListener listener)
Adds an ActionListener which is notified when
the user presses the "Back" button. |
void |
addButtons(int flags)
Adds the Back, Next, Finish, Cancel or Help buttons to the wizard panel if they have been previously removed. |
void |
addCancelListener(ActionListener listener)
Adds an ActionListener which is notified when
the user cancels out of a window. |
void |
addCancelListener(Object listener)
|
void |
addCommitListener(ActionListener listener)
Adds an ActionListener which is notified when
commit processing is complete. |
void |
addCommitListener(Object listener)
|
void |
addPanel(PanelManager pm,
int index,
int stepIndex)
Adds a panel to the wizard managed by the receiver. |
void |
addUserButton(String buttonId,
String text,
ActionListener listener,
ImageIcon imageIcon)
Adds a user defined button to the wizard panel in addition to the standard Back, Next, Cancel, Finish and Help buttons. |
void |
applyChanges()
Transmits changes to user data to the DataBean s
which manage the data. |
void |
commit(Vector committedDataBeans)
Commits the changes to data displayed on the panel. |
void |
disableButtons(int flags)
Disables the Back, Next, Finish, Cancel or Help buttons on the wizard panel. |
void |
disableUserButton(String buttonId)
Disable (gray out) a user defined button that was previously added with addUserButton . |
void |
dispose()
Closes the panel and releases all resources used by the panel and its associated UI components. |
void |
enableButtons(int flags)
Enables the Back, Next, Finish, Cancel or Help buttons on the wizard panel if they have been previously disabled. |
void |
enableUserButton(String buttonId)
Enable a user defined button that was previously added with addUserButton . |
PaneManager |
getAggregateManager()
Returns the owning PaneManager for the receiver. |
JButton |
getBackButton()
Returns the wizard's Back button. |
JButton |
getCancelButton()
Returns the wizard's Cancel button. |
Component |
getComponent(String componentName)
Returns the requested user interface component. |
com.ibm.as400.ui.framework.java.JavaComponentDescriptor |
getComponentDescriptor(String componentName)
Returns the JavaComponentDescriptor for the specified user interface component. |
PaneManager |
getDelegateManager(String paneName)
Returns the PaneManager to which the receiver is delegating
management of the specified subpane. |
boolean |
getExitOnClose()
Determines whether the application exits when this wizard is closed. |
JButton |
getFinishButton()
Returns the wizard's Finish button. |
DataFormatter |
getFormatter(String componentName)
Returns the data formatter associated with the specified user interface component. |
JButton |
getNextButton()
Returns the wizard's Next button. |
WindowManager |
getOwnerManager()
Returns the WindowManager in relation to which
the receiver has been set modal, or null if the receiver is not
modal relative to another window. |
PanelManager |
getPage(int index)
Returns the PanelManager for the specified wizard page. |
PanelManager |
getPage(String name)
Returns the PanelManager for the specified wizard page. |
Dimension |
getPreferredSize()
Gets the preferred size of this wizard. |
PaneManager |
getRootManager()
Returns the root PaneManager for the receiver. |
boolean |
getSaveOnThread()
Indicates whether calls to the save method
on the application's DataBean objects will
be called on a non-UI thread. |
String |
getTitle()
Returns the wizard's title. |
JButton |
getUserButton(String buttonId)
Returns one of the wizard's user defined buttons. |
Window |
getWindow()
Returns the main wizard window. |
void |
handleDataException(IllegalUserDataException ex)
Provides the default handling for an IllegalUserDataException . |
boolean |
isLoadOnPageSwap()
Returns a flag indicating whether data is loaded from the databeans on every page switch |
boolean |
isVisible()
Determines whether this wizard is visible. |
void |
loadData()
Called during initialization to load data into the panel. |
static void |
main(String[] args)
Provides a command line interface to WizardManager . |
void |
prepareToCommit(Vector preparedDataBeans)
Request the DataBean s which manage data for the
panel to verify that their data is in a consistent state. |
void |
refreshComponent(String qualifiedName)
Calls the associated dataBeans gettor method for a component. |
void |
removeButtons(int flags)
Removes the Back, Next, Finish, Cancel or Help buttons from the wizard panel. |
void |
removePanel(int index)
Removes a panel from the wizard managed by the receiver. |
void |
removeUserButton(String buttonId)
Remove a user defined button that was previously added with addUserButton . |
void |
serialize()
Serializes the wizard definition. |
void |
setAggregateManager(PaneManager mgr)
Sets the owning PaneManager for the receiver. |
void |
setExitOnClose(boolean exit)
Controls whether the application exits when the wizard is closed, based on the value of parameter exit . |
void |
setFormatter(String componentName,
DataFormatter formatter,
boolean required)
Sets the data formatter associated with the specified user interface component. |
void |
setHelpPath(String path)
Base location for help files. |
void |
setLoadOnPageSwap(boolean b)
Sets a flag defining whether data should be loaded from the databeans on every page switch |
void |
setModalRelativeTo(WindowManager mgr)
Sets the location of the panel being managed relative to a panel managed by the specified WindowManager . |
void |
setSaveOnThread(boolean saveOnThread)
Controls whether calls to the save method
on the application's DataBean objects will
be called on a non-UI thread. |
void |
setTitle(String title)
Sets the title for the currently displayed Page |
void |
setTitle(String title,
String pageName)
Sets the title for the page identified by pageName |
void |
setVisible(boolean show)
Shows or hides the wizard, depending on the value of parameter show . |
void |
showPane(String paneName)
Displays the specified pane. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int BACK_BUTTON
public static final int NEXT_BUTTON
public static final int FINISH_BUTTON
public static final int CANCEL_BUTTON
public static final int HELP_BUTTON
Constructor Detail |
---|
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modeless.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)wizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modeless.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)wizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modeless.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the property sheet definitionwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)wizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modeless.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the property sheet definitionwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)wizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, Frame owner, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the wizard has closed.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)owner
- the owning framewizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, Frame owner, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the wizard has closed.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)owner
- the owning framewizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Frame owner, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the wizard has closed.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the wizard definitionwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)owner
- the owning framewizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Frame owner, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the wizard has closed.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the wizard definitionwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)owner
- the owning framewizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Frame owner, WizardStateMachine stateMachine, boolean resize, boolean loadInBackground) throws DisplayManagerException
WizardManager
object for the specified wizard.
The wizard will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the wizard has closed.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the wizard definitionwizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)owner
- the owning framewizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableloadInBackground
- specifies whether pages should be loaded in the background. If this option is selected the first page determines the maximum size of the wizard.DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, Container container, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
for the specified wizard,
using the specified container.
This constructor allows the application to supply its own container, rather than
relying on this object to create a container of the appropriate type.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which defines the wizard specificationpanelName
- the name of the panel, as specified on the WIZARD
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)container
- the application's containerwizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, String wizardName, DataBean[] dataBeans, Container container, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
for the specified wizard,
using the specified container.
This constructor allows the application to supply its own container, rather than
relying on this object to create a container of the appropriate type.
The default locale will be used to load the wizard definition.
baseName
- the resource name of the PDML document/resource bundle combination which defines the wizard specificationpanelName
- the name of the panel, as specified on the WIZARD
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)container
- the application's containerwizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Container container, WizardStateMachine stateMachine) throws DisplayManagerException
WizardManager
for the specified wizard,
using the specified container.
This constructor allows the application to supply its own container, rather than
relying on this object to create a container of the appropriate type.
baseName
- the resource name of the PDML document/resource bundle combination which defines the wizard specificationlocale
- the desired locale to be used to load the panel definitionpanelName
- the name of the panel, as specified on the WIZARD
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)container
- the application's containerwizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Container container, WizardStateMachine stateMachine, boolean resize) throws DisplayManagerException
WizardManager
for the specified wizard,
using the specified container.
This constructor allows the application to supply its own container, rather than
relying on this object to create a container of the appropriate type.
baseName
- the resource name of the PDML document/resource bundle combination which defines the wizard specificationlocale
- the desired locale to be used to load the panel definitionpanelName
- the name of the panel, as specified on the WIZARD
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)container
- the application's containerwizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName, DataBean[] dataBeans, Container container, WizardStateMachine stateMachine, boolean resize, boolean loadInBackground) throws DisplayManagerException
WizardManager
for the specified wizard,
using the specified container.
This constructor allows the application to supply its own container, rather than
relying on this object to create a container of the appropriate type.
baseName
- the resource name of the PDML document/resource bundle combination which defines the wizard specificationlocale
- the desired locale to be used to load the panel definitionpanelName
- the name of the panel, as specified on the WIZARD
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the wizard (may be null)container
- the application's containerwizardStateMachine
- the object that track's the user's path through the wizard panels (may be null)resize
- specifies whether the wizard should be dynamically resizableloadInBackground
- specifies whether pages should be loaded in the background. If this option is selected the first page determines the maximum size of the wizard.DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public WizardManager(String baseName, Locale locale, String wizardName) throws DisplayManagerException
WizardManager
object for the specified wizard,
and then serializes the wizard definition.
This constructor cannot be used to display the wizard.
If a null locale is specified, the default locale will be used to load the wizard definition. If resources for the default locale cannot be found, an attempt will be made to use the base resources for the wizard.
baseName
- the resource name of the PDML document/resource bundle combination which define the wizard specificationlocale
- the desired locale to be used to load the wizard definition (may be null)wizardName
- the name of the wizard, as specified on the WIZARD
tag in the PDMLDisplayManagerException
- if an error was encountered accessing or serializing the panel definitionserialize()
Method Detail |
---|
public static void main(String[] args)
WizardManager
. See the class description.
public void serialize() throws IOException
<wizard name>_<locale string>.pdml.serwhere
<wizard name>
is the name of the wizard as specified on the WIZARD
tag in the PDML, and <locale string>
consists of the ISO Language Code,
ISO country or region code, and optional variant codes, each delimited by an underscore ("_") character.
IOException
- if serialized file cannot be writtenpublic JButton getBackButton()
JButton
which represents this wizard's Back buttonpublic JButton getNextButton()
JButton
which represents this wizard's Next buttonpublic JButton getCancelButton()
JButton
which represents this wizard's Cancel buttonpublic JButton getFinishButton()
JButton
which represents this wizard's Finish buttonpublic void setExitOnClose(boolean exit)
exit
.
The default value is false
.
This method should be called before the wizard is made visible.
exit
- If true, exit the application; otherwise, just hide the panel.getExitOnClose()
public boolean getExitOnClose()
setExitOnClose(boolean)
public void setVisible(boolean show)
show
.
If an owner frame was specified on the constructor indicating that the wizard
is modal, the application will block on the call to setVisible
until the wizard has closed.
setVisible
in interface WindowManager
show
- If true, shows the wizard; otherwise, hides the wizard.isVisible()
,
WindowManager
public boolean isVisible()
isVisible
in interface WindowManager
setVisible(boolean)
,
WindowManager
public Dimension getPreferredSize()
public void setFormatter(String componentName, DataFormatter formatter, boolean required)
<panel_name>.<component_name>
where panel_name
is the name of the panel containing
the desired component, and component_name
is the
name of the component, as defined in the PDML for the panel definition.
setFormatter
in interface PaneManager
componentName
- the fully-qualified name of the user interface componentformatter
- a reference to the data formatter to be associated with the componentrequired
- whether a value is required to be enteredDataFormatter
public DataFormatter getFormatter(String componentName)
<panel_name>.<component_name>
where panel_name
is the name of the panel containing
the desired component, and component_name
is the
name of the component, as defined in the PDML for the panel definition.
getFormatter
in interface PaneManager
componentName
- the fully-qualified name of the user interface componentDataFormatter
, or null
if the component cannot be foundDataFormatter
public String getTitle()
getTitle
in interface PaneManager
PaneManager
public void setTitle(String title)
title
- The title to be set on the panelPaneManager
public void setTitle(String title, String pageName)
title
- The title to be set on the panelpageName
- The name of the page to set apply the title toPaneManager
public void loadData()
WizardManager
doesn't participate in aggregates.
loadData
in interface PaneManager
PaneManager
public void activatePanel()
WizardManager
isn't managed as a subpanel.
activatePanel
in interface PaneManager
PaneManager
public void showPane(String paneName)
WizardManager
isn't managed as a subpanel.
showPane
in interface PaneManager
paneName
- the name of the pane to be displayed, as defined in the PDML for this PaneManager
PaneManager
public Component getComponent(String componentName)
<panel_name>.<component_name>
where panel_name
is the name of the panel containing
the desired component, and component_name
is the
name of the component, as defined in the PDML for the panel definition.
getComponent
in interface PaneManager
componentName
- the fully-qualified name of the user interface componentComponent
, or null
if the component cannot be foundPaneManager
public void refreshComponent(String qualifiedName)
<panel_name>.<component_name>
where panel_name
is the name of the panel containing
the desired component, and component_name
is the
name of the component, as defined in the PDML for the panel definition.
qualifiedName
- the fully-qualified name of the user interface componentPanelManager.refreshComponent(java.lang.String)
public com.ibm.as400.ui.framework.java.JavaComponentDescriptor getComponentDescriptor(String componentName)
JavaComponentDescriptor
for the specified user interface component.
The name of the component must be of the form
<panel_name>.<component_name>
where panel_name
is the name of the panel containing
the desired component, and component_name
is the
name of the component, as defined in the PDML for the panel definition.
getComponentDescriptor
in interface PaneManager
componentName
- the fully-qualified name of the user interface componentJavaComponentDescriptor
, or null
if the descriptor cannot be foundPaneManager
public PaneManager getDelegateManager(String paneName)
PaneManager
to which the receiver is delegating
management of the specified subpane.
getDelegateManager
in interface PaneManager
paneName
- the name of the pane as specified in the PDML definitionPaneManager
, or null
if the object cannot be foundPaneManager
public void setAggregateManager(PaneManager mgr)
PaneManager
for the receiver.
This method has no implementation, since WizardManager
doesn't participate in aggregates.
setAggregateManager
in interface PaneManager
mgr
- the PaneManager
with which the receiver is to be associatedPaneManager
public PaneManager getAggregateManager()
PaneManager
for the receiver.
getAggregateManager
in interface PaneManager
PaneManager
with which the receiver is associated
when this object is participating in an aggregate user interface, or null
if this PaneManager
is not part of an aggregate.PaneManager
public PaneManager getRootManager()
PaneManager
for the receiver.
getRootManager
in interface PaneManager
PaneManager
for the main panel that is
managing the aggregate user interface, or null if this PaneManager
is not part of an aggregate.PaneManager
public void applyChanges()
DataBean
s
which manage the data.
This method has no implementation, since WizardManager
doesn't participate in aggregates.
applyChanges
in interface PaneManager
PaneManager
public void prepareToCommit(Vector preparedDataBeans)
DataBean
s which manage data for the
panel to verify that their data is in a consistent state.
This method has no implementation, since WizardManager
doesn't participate in aggregates.
prepareToCommit
in interface PaneManager
preparedDataBeans
- a list of DataBean
s which have already
been prepared on the current commit operationPaneManager
public void commit(Vector committedDataBeans)
WizardManager
doesn't participate in aggregates.
commit
in interface PaneManager
committedDataBeans
- a list of DataBean
s which have already
been saved on the current commit operationPaneManager
public Window getWindow()
getWindow
in interface WindowManager
public void setModalRelativeTo(WindowManager mgr)
WindowManager
.
If the panel is not currently showing, the panel for this
WizardManager
is centered on the screen.
This method has no effect if it is called after this wizard is made visible.
setModalRelativeTo
in interface WindowManager
mgr
- the WindowManager
managing the panel
in relation to which this object's panel location is determinedpublic WindowManager getOwnerManager()
WindowManager
in relation to which
the receiver has been set modal, or null if the receiver is not
modal relative to another window.
getOwnerManager
in interface WindowManager
WindowManager
managing the window
in relation to which this object's window location is determinedWindowManager
public void addCommitListener(ActionListener listener)
ActionListener
which is notified when
commit processing is complete.
This facility is provided for modeless windows, so that the
application may learn when the window has closed.
The listener's actionPerformed
method will be called following
successful completion of commit processing on the wizard.
The ActionEvent
passed to the listener object will
have its action command string set to "COMMIT".
This method is not recommended for modal windows, since the
application will be blocked on the setVisible
call until the window is closed.
addCommitListener
in interface WindowManager
listener
- the instance of java.awt.event.ActionListener
to be notifiedWindowManager
public void addCommitListener(Object listener)
addCommitListener
in interface WindowManager
public void addCancelListener(ActionListener listener)
ActionListener
which is notified when
the user cancels out of a window.
This facility is provided for modeless windows, so that the
application may learn when the window has closed.
The listener's actionPerformed
method will be called when
the user cancels out of the wizard without committing any changes.
The ActionEvent
passed to the listener object will
have its action command string set to "CANCEL".
This method is not recommended for modal windows, since the
application will be blocked on the setVisible
call until the window is closed.
addCancelListener
in interface WindowManager
listener
- the instance of java.awt.event.ActionListener
to be notifiedWindowManager
public void addCancelListener(Object listener)
addCancelListener
in interface WindowManager
public void dispose()
dispose
in interface WindowManager
WindowManager
public void handleDataException(IllegalUserDataException ex)
IllegalUserDataException
.
If the exception message is non-null it will be displayed to the user in a
message box. After the message box is closed, focus is set to the component
identified in the exception object so that the user can change the data
to a valid value.
handleDataException
in interface WindowManager
ex
- The IllegalUserDataException
for which
default handling is requested.WindowManager
,
applyChanges()
public boolean getSaveOnThread()
save
method
on the application's DataBean
objects will
be called on a non-UI thread.
true
if the save
method
will be called on a non-UI thread; false
if
the save
methods will be called on the
AWT event dispatch thread.setSaveOnThread(boolean)
public void setSaveOnThread(boolean saveOnThread)
save
method
on the application's DataBean
objects will
be called on a non-UI thread. The default is false
.
In general, requesting save
method calls on a
non-UI thread is the recommended approach. This is because
save
is typically a long-running method, and
if it executes on the UI thread the application's UI will
not respond to user input until the save operation completes.
Requesting a non-UI thread solves this problem - the panel managed
by this PanelManager
will be disabled for the
duration of the save operation, but the application's other
windows will be unaffected and continue to behave normally.
The downside to calling save
on a thread
is that any UI calls in the
save
method must be queued on the UI thread
via the SwingUtilities.invokeLater
mechanism.
A convenient way to do this is to bracket UI code
with the following:
SwingUtilities.invokeLater(new Runnable() { public void run() { <your UI code here> } });Using this technique the UI code still has access to member fields of the enclosing class. Local variables should either be enclosed in the inner class or declared final.
saveOnThread
- If true, call the save
method
on a non-UI thread; otherwise, call the save
method
on the AWT event dispatch thread.getSaveOnThread()
public void setHelpPath(String path)
PaneManager
setHelpPath("http://www.ibm.com/help/")
will
cause the PanelManager to load http://www.ibm.com/help/MyPanel.html as
the help file.
setHelpPath
in interface PaneManager
public void addPanel(PanelManager pm, int index, int stepIndex)
pm
- the PanelManager
for the new panelindex
- the position at which the new page will be insertedstepIndex
- maps the wizard panel to one of the steps defined in the PDML for the wizardArrayIndexOutOfBoundsException
- if the value of the specified index
exceeds the current page countpublic PanelManager getPage(int index)
PanelManager
for the specified wizard page.
index
- the index of the wizard pagePanelManager
instance for the pageArrayIndexOutOfBoundsException
- if the value of the specified index
is not less than the page countpublic PanelManager getPage(String name)
PanelManager
for the specified wizard page.
name
- the name of the wizard page as specified in the PDMLPanelManager
instance for the page, or null
if the specified page is not foundpublic void removePanel(int index)
index
- the index of the page to be removedArrayIndexOutOfBoundsException
- if the value of the specified index
exceeds the current page count minus 1public void addButtons(int flags)
flags
- button constants indicating which buttons should be addedremoveButtons(int)
,
enableButtons(int)
,
disableButtons(int)
,
BACK_BUTTON
,
NEXT_BUTTON
,
FINISH_BUTTON
,
CANCEL_BUTTON
,
HELP_BUTTON
public void removeButtons(int flags)
flags
- button constants indicating which buttons should be removedaddButtons(int)
,
enableButtons(int)
,
disableButtons(int)
,
BACK_BUTTON
,
NEXT_BUTTON
,
FINISH_BUTTON
,
CANCEL_BUTTON
,
HELP_BUTTON
public void enableButtons(int flags)
flags
- button constants indicating which buttons should be enableddisableButtons(int)
,
addButtons(int)
,
removeButtons(int)
,
BACK_BUTTON
,
NEXT_BUTTON
,
FINISH_BUTTON
,
CANCEL_BUTTON
,
HELP_BUTTON
public void disableButtons(int flags)
flags
- button constants indicating which buttons should be disabledenableButtons(int)
,
addButtons(int)
,
removeButtons(int)
,
BACK_BUTTON
,
NEXT_BUTTON
,
FINISH_BUTTON
,
CANCEL_BUTTON
,
HELP_BUTTON
public void addUserButton(String buttonId, String text, ActionListener listener, ImageIcon imageIcon) throws IllegalArgumentException
buttonId
- the String
that will be used to identify this button in subsequent calls.text
- the String
that is to appear on the button.listener
- the ActionListener
to be notified when the button is pressed.imageIcon
- the ImageIcon
that will be placed on the button.
This parameter may be null.IllegalArgumentException
- text
parameter is a duplicate for a button that already exists.
buttonId
is null.
text
is null.
listener
is null.
removeUserButton(java.lang.String)
,
enableUserButton(java.lang.String)
,
disableUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public void removeUserButton(String buttonId) throws IllegalArgumentException
addUserButton
.
buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.IllegalArgumentException
- if the requested user defined button does not exist or if the buttonId
parameter is null.addUserButton(java.lang.String, java.lang.String, java.awt.event.ActionListener, javax.swing.ImageIcon)
,
enableUserButton(java.lang.String)
,
disableUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public JButton getUserButton(String buttonId) throws IllegalArgumentException
buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.IllegalArgumentException
- if the requested user defined button does not exist or if the buttonId
parameter is null.addUserButton(java.lang.String, java.lang.String, java.awt.event.ActionListener, javax.swing.ImageIcon)
,
removeUserButton(java.lang.String)
,
enableUserButton(java.lang.String)
,
disableUserButton(java.lang.String)
public void enableUserButton(String buttonId) throws IllegalArgumentException
addUserButton
.
buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.IllegalArgumentException
- if the requested user defined button does not exist or if the buttonId
parameter is null.disableUserButton(java.lang.String)
,
addUserButton(java.lang.String, java.lang.String, java.awt.event.ActionListener, javax.swing.ImageIcon)
,
removeUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public void disableUserButton(String buttonId) throws IllegalArgumentException
addUserButton
.
buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.IllegalArgumentException
- if the requested user defined button does not exist or if the buttonId
parameter is null.enableUserButton(java.lang.String)
,
addUserButton(java.lang.String, java.lang.String, java.awt.event.ActionListener, javax.swing.ImageIcon)
,
removeUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public void addBackListener(ActionListener listener)
ActionListener
which is notified when
the user presses the "Back" button.
This facility is provided so the application can be notified when
the back button has been pressed.
The listener's actionPerformed
method will be called when
the user presses the Back button.
The ActionEvent
passed to the listener object will
have its action command string set to "BACK".
listener
- the ActionListener
to be notifiedpublic void setLoadOnPageSwap(boolean b)
b
- true if data should be loaded on a page swap, false otherwise.
(default is false)isLoadOnPageSwap()
public boolean isLoadOnPageSwap()
setLoadOnPageSwap(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |