MultiplePageDialogPane is a StandardDialogPane which can have multiple AbstractDialogPages. You can choose one from
four predefined styles of how to change the page visibility. Those four styles are TAB_STYLE, ICON_STYLE, LIST_STYLE
and TREE_STYLE.
To use this class, just create a PageList of AbstractDialogPage and call setPageList() to set to this dialog. Based
on the style, the class will automatically layout those pages correctly and hook up actions to switch based on user
selection.
As AbstractDialogPage extends AbstractPage, so you can always use PageListener to decide what to do when page is
opened, closing, closed, activated or deactivated.
We automatically create a button panel which have three button - OK, Cancel and Apply. The ButtonPanel listens to
ButtonEvent from all the pages. You can simply fireButtonEvent in the page to change the state of those buttons. Or
if you want to create your own button panel, just override createButtonPanel() method.
If you choose LIST_STYLE and TREE_STYLE, you can set your own ListCellRenderer and TreeCellRenderer. Just call
setListCellRenderer() and setTreeCellRenderer(). The value passed in the renderer is an instance of
AbstractDialogPage associated with that list row or tree node.
MultiplePageDialogPane
has lazy loading feature. So when you are done setup the page list, you need to
call
#initComponents() to initialize everything. This method will be called automatically if the dialog pane
is added to StandardDialog.