|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.as400.ui.framework.java.PropertySheetManager
Creates a property sheet containing a tabbed pane with one or more tabbed windows. Each window consists of a panel defined using the Panel Definition Markup Language (PDML). The property sheet may be either a standalone window or a modal dialog.
PropertySheetManager
performs the following processing on behalf
of the application:
PanelManager
for each property sheet panel
specified in the PDML, and attaches the panels to the property sheet.
DataBean
accessor methods
identified in the PDML.
EventHandler
s
specified in the PDML with the appropriate UI components.
The total size of the property sheet is a function of the size of the largest panel.
To locate a property sheet definition, PropertySheetManager
needs three pieces of information:
PROPERTYSHEET
tag in the PDML.
The framework first searches the specified location for a file with a name matching
the property sheet name, and an extension of .pdml.ser
. If the serialized
property sheet 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.
MyPropertySheet
is defined in the file TestPanels.pdml
,
and that a properties file TestPanels.properties
is associated with the property sheet
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 property sheet and displays it:
import com.ibm.as400.ui.framework.java.*; // Create the property sheet manager. Parameters: // 1. Resource name of the property sheet definition // 2. Name of property sheet // 3. List of DataBeans omitted PropertySheetManager psm = null; try { psm = new PropertySheetManager("com.ourCompany.ourPackage.TestPanels", "MyPropertySheet", null); } catch (DisplayManagerException e) { e.displayUserMessage(null); System.exit(-1); } // Display the property sheet psm.setVisible(true);Once the
DataBean
s that supply data to the property sheet have been
implemented and the attributes have been identified in the PDML,
the following code may be used to construct a fully-functioning property sheet:
import com.ibm.as400.ui.framework.java.*; import java.awt.Frame; // Instantiate the objects which supply data to the property sheet 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 the property sheet manager. Parameters: // 1. Resource name of the property sheet definition // 2. Name of property sheet // 3. List of DataBeans // 4. Owner frame window Frame owner; ... PropertySheetManager psm = null; try { psm = new PropertySheetManager("com.ourCompany.ourPackage.TestPanels", "MyPropertySheet", dataBeans, owner); } catch (DisplayManagerException e) { e.displayUserMessage(null); System.exit(-1); } // Display the property sheet psm.setVisible(true);
java com.ibm.as400.ui.framework.java.PropertySheetManager [-serialize] [-locale <language code>_<country code>_<variant>] <resource name> <property sheet name>Options:
.pdml.ser
.
If this option is specified the property sheet will not be displayed on the screen.
PROPERTYSHEET
tag in the PDML document.
Examples:
java com.ibm.as400.ui.framework.java.PropertySheetManager com.ourCompany.ourPackage.TestPanels MyPropertySheet
java com.ibm.as400.ui.framework.java.PropertySheetManager -serialize com.ourCompany.ourPackage.TestPanels MyPropertySheet
java com.ibm.as400.ui.framework.java.PropertySheetManager -locale en_UK com.ourCompany.ourPackage.TestPanels MyPropertySheet
java com.ibm.as400.ui.framework.java.PropertySheetManager -serialize -locale en_UK com.ourCompany.ourPackage.TestPanels MyPropertySheet
DisplayManagerException
,
PanelManager
Field Summary | |
static int |
APPLY_BUTTON
Used to identify the Apply button on the property sheet. |
static int |
CANCEL_BUTTON
Used to identify the Cancel button on the property sheet. |
static int |
HELP_BUTTON
Used to identify the Help button on the property sheet. |
protected int |
m_windowMinHeight
|
protected int |
m_windowMinWidth
|
static int |
OK_BUTTON
Used to identify the OK button on the property sheet. |
Fields inherited from interface com.ibm.as400.ui.framework.java.WindowManager |
OFFSET_FROM_OWNER |
Constructor Summary | |
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName)
Constructs a PropertySheetManager object for the specified property sheet,
and then serializes the property sheet definition. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans,
boolean resize)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Container container)
Constructs a PropertySheetManager for the specified property sheet,
using the specified container. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Container container,
boolean resize)
Constructs a PropertySheetManager for the specified property sheet,
using the specified container. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Frame owner)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.util.Locale locale,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Frame owner,
boolean resize)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans,
boolean resize)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Container container)
Constructs a PropertySheetManager for the specified property sheet,
using the specified container. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Container container,
boolean resize)
Constructs a PropertySheetManager for the specified property sheet,
using the specified container. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Frame owner)
Constructs a PropertySheetManager object for the specified property sheet. |
|
PropertySheetManager(java.lang.String baseName,
java.lang.String propertySheetName,
DataBean[] dataBeans,
java.awt.Frame owner,
boolean resize)
Constructs a PropertySheetManager object for the specified property sheet. |
Method Summary | |
void |
activatePanel()
Runs the activation handlers for the currently selected pane. |
void |
addButtons(int flags)
Adds the OK, Cancel or Help buttons to the property sheet if they have been previously removed. |
void |
addCancelListener(java.awt.event.ActionListener listener)
Adds an ActionListener which is notified when
the user cancels out of a window. |
void |
addCancelListener(java.lang.Object listener)
|
void |
addCommitListener(java.awt.event.ActionListener listener)
Adds an ActionListener which is notified when
commit processing is complete. |
void |
addCommitListener(java.lang.Object listener)
|
void |
addPage(PanelManager pm,
int index)
Adds a panel to the property sheet managed by the receiver. |
void |
addUserButton(java.lang.String buttonId,
java.lang.String text,
java.awt.event.ActionListener listener)
Adds a user defined button to the property sheet in addition to the standard OK, Cancel, Apply, and Help buttons. |
void |
applyChanges()
Transmits changes to user data to the DataBean s
which manage the data. |
void |
commit(java.util.Vector committedDataBeans)
Commits the changes to data displayed on the panel. |
void |
disableButtons(int flags)
Disables the OK, Cancel, Apply or Help buttons on the property sheet. |
void |
disableUserButton(java.lang.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 OK, Cancel or Help buttons on the property sheet if they have been previously disabled. |
void |
enableUserButton(java.lang.String buttonId)
Enable a user defined button that was previously added with addUserButton . |
boolean |
fireCancelListeners()
Processes all CancelListeners. |
void |
fireCommitListeners()
Processes all CommitListeners. |
PaneManager |
getAggregateManager()
Returns the owning PaneManager for the receiver. |
java.awt.event.ActionListener |
getCancelHandler()
Returns the cancel handler which will bypass normal cancel handling, if one is set. |
java.awt.Component |
getComponent(java.lang.String componentName)
Returns the requested user interface component. |
com.ibm.as400.ui.framework.java.JavaComponentDescriptor |
getComponentDescriptor(java.lang.String componentName)
Returns the JavaComponentDescriptor for the specified user interface component. |
PaneManager |
getDelegateManager(java.lang.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 property sheet is closed. |
DataFormatter |
getFormatter(java.lang.String componentName)
Returns the data formatter associated with the specified user interface component. |
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 property page. |
PanelManager |
getPage(java.lang.String name)
Returns the PanelManager for the specified property page. |
java.awt.Dimension |
getPreferredSize()
Gets the preferred size of this property sheet. |
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. |
javax.swing.JTabbedPane |
getTabbedPane()
Returns the JTabbedPane for the specified property sheet manager. |
java.lang.String |
getTitle()
Returns the property sheet's title. |
javax.swing.JButton |
getUserButton(java.lang.String buttonId)
Returns one of the property sheet's user defined buttons. |
java.awt.Window |
getWindow()
Returns the main property sheet window. |
void |
handleDataException(IllegalUserDataException ex)
Provides the default handling for an IllegalUserDataException . |
boolean |
isLoadOnThread()
Determines whether secondary pages are loaded in the background. |
boolean |
isPageSwitchValidation()
Determines whether the PropertySheetManager checks the information on a page and saves it in the data bean before switching to another page. |
boolean |
isVisible()
Determines whether this property sheet is visible. |
void |
loadData()
Called during initialization to load data into the panel. |
protected void |
loadPagesData()
Causes the initialization of the pages by loading each of the page's data. |
static void |
main(java.lang.String[] args)
Provides a command line interface to PropertySheetManager . |
void |
prepareToCommit(java.util.Vector preparedDataBeans)
Request the DataBean s which manage data for the
panel to verify that their data is in a consistent state. |
void |
pressButton(int button)
Programatically press a predefined button |
void |
refreshComponent(java.lang.String qualifiedName)
Calls the associated dataBeans gettor method for a component. |
void |
removeButtons(int flags)
Removes the OK, Cancel, Apply or Help buttons from the property sheet. |
void |
removePage(int index)
Removes a panel from the property sheet managed by the receiver. |
void |
removePage(java.lang.String name)
Removes a panel from the property sheet managed by the receiver. |
void |
removeUserButton(java.lang.String buttonId)
Remove a user defined button that was previously added with addUserButton . |
void |
serialize()
Serializes the property sheet definition. |
void |
setAggregateManager(PaneManager mgr)
Sets the owning PaneManager for the receiver. |
void |
setCancelHandler(java.awt.event.ActionListener handler)
Sets a cancel handler which will bypass normal cancel handling. |
void |
setExitOnClose(boolean exit)
Controls whether the application exits when the property sheet is closed, based on the value of parameter exit . |
void |
setFormatter(java.lang.String componentName,
DataFormatter formatter,
boolean required)
Sets the data formatter associated with the specified user interface component. |
void |
setHelpPath(java.lang.String path)
Base location for help files. |
void |
setLoadOnThread(boolean loadOnThread)
Controls whether secondary pages are loaded in the background. |
void |
setMinimumWindowSize(int width,
int height)
Sets the minimum size of the application window owned by this PropertySheet. |
void |
setModalRelativeTo(WindowManager mgr)
Sets the location of the panel being managed relative to a panel managed by the specified WindowManager . |
void |
setPageSwitchValidation(boolean validate)
Controls whether the PropertySheetManager checks the information on a page and saves it in the data bean before switching to another page. |
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(java.lang.String title)
Overrides the property sheet title defined in the property sheet definition. |
void |
setVisible(boolean show)
Shows or hides the property sheet, depending on the value of parameter show . |
void |
showPage(int index)
Shows the Panel for the specified property page. |
void |
showPage(java.lang.String name)
Shows the Panel for the specified property page. |
void |
showPane(java.lang.String paneName)
Displays the specified pane. |
void |
validatePage(int index)
Validates the changes to data displayed on the panel. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int OK_BUTTON
public static final int CANCEL_BUTTON
public static final int HELP_BUTTON
public static final int APPLY_BUTTON
protected int m_windowMinWidth
protected int m_windowMinHeight
Constructor Detail |
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modeless.
The default locale will be used to load the property sheet definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans, boolean resize) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modeless.
The default locale will be used to load the property sheet definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)resize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modeless.baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)DisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans, boolean resize) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modeless.baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)resize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Frame owner) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the property sheet has closed.
The default locale will be used to load the panel definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)owner
- the owning frameDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Frame owner, boolean resize) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the property sheet has closed.
The default locale will be used to load the panel definition.
baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDML documentdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)owner
- the owning frameresize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Frame owner) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the property sheet has closed.baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)owner
- the owning frameDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Frame owner, boolean resize) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet.
The property sheet will be modal, with the specified Frame
as its owner.
The application will block on the call to setVisible
until
the property sheet has closed.baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpropertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)owner
- the owning frameresize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
,
setVisible(boolean)
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Container container) throws DisplayManagerException
PropertySheetManager
for the specified property sheet,
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 property sheet definition.
baseName
- the resource name of the PDML document/resource bundle combination which defines the property sheet specificationpanelName
- the name of the panel, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)container
- the application's containerDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Container container, boolean resize) throws DisplayManagerException
PropertySheetManager
for the specified property sheet,
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 property sheet definition.
baseName
- the resource name of the PDML document/resource bundle combination which defines the property sheet specificationpanelName
- the name of the panel, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)container
- the application's containerresize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Container container) throws DisplayManagerException
PropertySheetManager
for the specified property sheet,
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 property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpanelName
- the name of the panel, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)container
- the application's containerDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName, DataBean[] dataBeans, java.awt.Container container, boolean resize) throws DisplayManagerException
PropertySheetManager
for the specified property sheet,
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 property sheet specificationlocale
- the desired locale to be used to load the property sheet definitionpanelName
- the name of the panel, as specified on the PROPERTYSHEET
tag in the PDMLdataBeans
- a list of DataBean
s which supply data to the property sheet (may be null)container
- the application's containerresize
- specifies whether the property sheet should be dynamically resizableDisplayManagerException
- if an error was encountered accessing the panel definitionDisplayManagerException
public PropertySheetManager(java.lang.String baseName, java.util.Locale locale, java.lang.String propertySheetName) throws DisplayManagerException
PropertySheetManager
object for the specified property sheet,
and then serializes the property sheet definition.
This constructor cannot be used to display the property sheet.
If a null locale is specified, the default locale will be used to load the property sheet definition. If resources for the default locale cannot be found, an attempt will be made to use the base resources for the property sheet.
baseName
- the resource name of the PDML document/resource bundle combination which define the property sheet specificationlocale
- the desired locale to be used to load the property sheet definition (may be null)propertySheetName
- the name of the property sheet, as specified on the PROPERTYSHEET
tag in the PDMLDisplayManagerException
- if an error was encountered accessing or serializing the panel definitionserialize()
Method Detail |
public static void main(java.lang.String[] args)
PropertySheetManager
. See the class description.public void serialize() throws java.io.IOException
<property sheet name>_<locale string>.pdml.serwhere
<property sheet name>
is the name of the property sheet as specified on the PROPERTYSHEET
tag in the PDML, and <locale string>
consists of the ISO Language Code,
ISO Country Code, and optional variant codes, each delimited by an underscore ("_") character.java.io.IOException
- if serialized file cannot be writtenpublic javax.swing.JTabbedPane getTabbedPane()
public PanelManager getPage(int index)
PanelManager
for the specified property page.index
- the index of the property pagePanelManager
instance for the pagejava.lang.ArrayIndexOutOfBoundsException
- if the value of the specified index
is not less than the page countpublic PanelManager getPage(java.lang.String name)
PanelManager
for the specified property page.name
- the name of the property page as specified in the PDMLPanelManager
instance for the page, or null
if the specified page is not foundpublic void showPage(int index)
index
- the index of the property page to showpublic void showPage(java.lang.String name)
name
- the name of the property page to showpublic void setExitOnClose(boolean exit)
exit
.
The default value is false
.
This method should be called before the property sheet is made visible.
exit
- If true, exit the application; otherwise, just hide the panel.getExitOnClose()
public boolean getExitOnClose()
setExitOnClose(boolean)
public void setTitle(java.lang.String title)
This method has no effect if the application supplied the container to be managed.
title
- The title which should appear in the property sheet's title bar.getTitle()
public void setHelpPath(java.lang.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
protected void loadPagesData()
Loads secondary pages on a background thread if isLoadOnThread
is true
.
setVisible(boolean)
public void setVisible(boolean show)
show
.
If an owner frame was specified on the constructor indicating that the property sheet
is modal, the application will block on the call to setVisible
until the property sheet has closed.setVisible
in interface WindowManager
show
- If true, shows the property sheet; otherwise, hides the property sheet.isVisible()
,
WindowManager
public boolean isVisible()
isVisible
in interface WindowManager
setVisible(boolean)
,
WindowManager
public java.awt.Dimension getPreferredSize()
public void setPageSwitchValidation(boolean validate)
false
for backward compatability.validate
- If true, check and save pages before switching; if false, do no checkingisPageSwitchValidation()
,
validatePage(int)
public boolean isPageSwitchValidation()
setPageSwitchValidation(boolean)
,
validatePage(int)
public void setLoadOnThread(boolean loadOnThread)
true
, the primary page is loaded on the main
thread and subsequent pages are loaded on worker threads.
If a page is selected to be displayed and the background loading is
not complete, the thread associated with the selected page is given priority,
when it completes it
is displayed. If false
all pages are loaded before any are displayed.
The default value is false
for backward compatability.
When using threaded loading, content of secondary pages may or may not be available from the primary page at a given time. In particular, default selection models may be replaced as threading procedes and should not be referenced by other pages.
loadOnThread
- If true, load secondary pages in background; if false, load all pages before display.isLoadOnThread()
public boolean isLoadOnThread()
setLoadOnThread(boolean)
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 java.lang.String getTitle()
Returns null if the application supplied the container to be managed.
getTitle
in interface PaneManager
PaneManager
,
setTitle(java.lang.String)
public void loadData()
PropertySheetManager
doesn't participate in aggregates.loadData
in interface PaneManager
PaneManager
public void activatePanel()
PropertySheetManager
isn't managed as a subpanel.activatePanel
in interface PaneManager
PaneManager
public void showPane(java.lang.String paneName)
PropertySheetManager
isn't managed as a subpanel.showPane
in interface PaneManager
PaneManager
public java.awt.Component getComponent(java.lang.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(java.lang.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(java.lang.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(java.lang.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 PropertySheetManager
doesn't participate in aggregates.setAggregateManager
in interface PaneManager
PaneManager
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 PropertySheetManager
doesn't participate in aggregates.applyChanges
in interface PaneManager
PaneManager
public void prepareToCommit(java.util.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 PropertySheetManager
doesn't participate in aggregates.prepareToCommit
in interface PaneManager
PaneManager
public void commit(java.util.Vector committedDataBeans)
PropertySheetManager
doesn't participate in aggregates.commit
in interface PaneManager
PaneManager
public void validatePage(int index) throws IllegalUserDataException
index
- the index of the property page to validateIllegalUserDataException
- if an error was discovered during validationpublic void setFormatter(java.lang.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(java.lang.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 java.awt.Window getWindow()
getWindow
in interface WindowManager
public void setModalRelativeTo(WindowManager mgr)
WindowManager
.
If the panel is not currently showing, the panel for this
PropertySheetManager
is centered on the screen.
This method has no effect if it is called after this property sheet 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(java.awt.event.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 property sheet.
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(java.lang.Object listener)
addCommitListener
in interface WindowManager
public void addCancelListener(java.awt.event.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 property sheet 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(java.lang.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 void addPage(PanelManager pm, int index)
pm
- the PanelManager
for the new panelindex
- the position at which the new page will be insertedjava.lang.ArrayIndexOutOfBoundsException
- if the value of the specified index
exceeds the current page countpublic void removePage(java.lang.String name)
name
- the name of the property page as specified in the PDMLpublic void removePage(int index)
index
- the index of the page to be removedjava.lang.ArrayIndexOutOfBoundsException
- 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 addedpublic void removeButtons(int flags)
flags
- button constants indicating which buttons should be removedpublic void enableButtons(int flags)
flags
- button constants indicating which buttons should be enabledpublic void pressButton(int button)
button
- the button to be programmatically pressedOK_BUTTON
,
CANCEL_BUTTON
,
APPLY_BUTTON
,
HELP_BUTTON
public void disableButtons(int flags)
flags
- button constants indicating which buttons should be disabledpublic void addUserButton(java.lang.String buttonId, java.lang.String text, java.awt.event.ActionListener listener) throws java.lang.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.java.lang.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(java.lang.String buttonId) throws java.lang.IllegalArgumentException
addUserButton
.buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.java.lang.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)
,
enableUserButton(java.lang.String)
,
disableUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public javax.swing.JButton getUserButton(java.lang.String buttonId) throws java.lang.IllegalArgumentException
text
- the same String
that was passed in on the addUserButton
call.java.lang.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)
,
removeUserButton(java.lang.String)
,
enableUserButton(java.lang.String)
,
disableUserButton(java.lang.String)
public void enableUserButton(java.lang.String buttonId) throws java.lang.IllegalArgumentException
addUserButton
.buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.java.lang.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)
,
removeUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public void disableUserButton(java.lang.String buttonId) throws java.lang.IllegalArgumentException
addUserButton
.buttonId
- the same String
that was passed in as the buttonId on the addUserButton
call.java.lang.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)
,
removeUserButton(java.lang.String)
,
getUserButton(java.lang.String)
public void setMinimumWindowSize(int width, int height)
width
- The minimum width of the windowheight
- The minimum height of the windowpublic final void fireCommitListeners()
public final boolean fireCancelListeners()
public void setCancelHandler(java.awt.event.ActionListener handler)
handler
- the cancel handler to use, or null to use the default handler.public java.awt.event.ActionListener getCancelHandler()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |