public class AbstractParamDialog extends AbstractDialog
JDialog.AccessibleJDialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
thisDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
DEFAULT_MODALITY_TYPE
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
AbstractParamDialog()
Constructs an
AbstractParamDialog with no parent and not modal. |
AbstractParamDialog(Window parent,
boolean modal,
String title,
String rootName)
Constructs an
AbstractParamDialog with the given parent, title and root node's name
and whether or not it's modal. |
Modifier and Type | Method and Description |
---|---|
void |
addParamPanel(String[] parentParams,
AbstractParamPanel panel,
boolean sort)
Adds the given panel, with its
own name , positioned under the
given parents (or root node if none given). |
void |
addParamPanel(String[] parentParams,
String name,
AbstractParamPanel panel,
boolean sort)
Adds the given panel with the given name positioned under the given parents (or root node if
none given).
|
protected void |
expandParamPanelNode(String panelName)
Expands the node of the param panel with the given name.
|
protected void |
expandRoot()
Expands the root node.
|
protected JButton |
getBtnCancel()
This method initializes btnCancel
|
JButton[] |
getExtraButtons() |
protected Collection<AbstractParamPanel> |
getPanels()
Gets the panels shown on this dialog.
|
void |
initParam(Object obj)
Initialises all panels with the given object.
|
protected boolean |
isParamPanelOrChildSelected(String panelName)
Tells whether or not the given param panel, or one of its child panels, is selected.
|
protected boolean |
isParamPanelSelected(String panelName)
Tells whether or not the given param panel is selected.
|
void |
printTree() |
void |
removeParamPanel(AbstractParamPanel panel)
Removes the given panel.
|
void |
renamePanel(AbstractParamPanel panel,
String newPanelName) |
void |
saveParam()
Saves the data of all panels, throwing an exception if there's any error.
|
void |
setFooter(String text)
Sets the text to be shown in the footer of the dialogue (along with the OK and Cancel
buttons).
|
int |
showDialog(boolean showRoot) |
int |
showDialog(boolean showRoot,
String panel) |
void |
showParamPanel(AbstractParamPanel panel,
String name)
Shows the panel with the given name.
|
void |
showParamPanel(String name)
Shows the panel with the given name.
|
void |
showParamPanel(String parent,
String child) |
void |
validateParam()
Validates all panels, throwing an exception if there's any validation error.
|
centreDialog, setVisible
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public AbstractParamDialog()
AbstractParamDialog
with no parent and not modal.HeadlessException
- when GraphicsEnvironment.isHeadless()
returns true
public AbstractParamDialog(Window parent, boolean modal, String title, String rootName)
AbstractParamDialog
with the given parent, title and root node's name
and whether or not it's modal.parent
- the Window
from which the dialog is displayed or null
if this
dialog has no parentmodal
- true
if the dialogue should be modal, false
otherwisetitle
- the title of the dialoguerootName
- the name of the root nodeHeadlessException
- when GraphicsEnvironment.isHeadless()
returns true
public void setFooter(String text)
text
- the text to be shown in the footer, might be null
in which case no text
is shown.public JButton[] getExtraButtons()
protected JButton getBtnCancel()
public void addParamPanel(String[] parentParams, String name, AbstractParamPanel panel, boolean sort)
If not sorted the panel is appended to existing panels.
parentParams
- the name of the parent nodes of the panel, might be null
.name
- the name of the panel, must not be null
.panel
- the panel, must not be null
.sort
- true
if the panel should be added in alphabetic order, false
otherwisepublic void addParamPanel(String[] parentParams, AbstractParamPanel panel, boolean sort)
own name
, positioned under the
given parents (or root node if none given).
If not sorted the panel is appended to existing panels.
parentParams
- the name of the parent nodes of the panel, might be null
.panel
- the panel, must not be null
.sort
- true
if the panel should be added in alphabetic order, false
otherwisepublic void removeParamPanel(AbstractParamPanel panel)
panel
- the panel that will be removedpublic void showParamPanel(String name)
Nothing happens if there's no panel with the given name (or the given name is empty or
null
).
The previously shown panel (if any) is notified that it will be hidden.
name
- the name of the panel to be shownpublic void showParamPanel(AbstractParamPanel panel, String name)
The previously shown panel (if any) is notified that it will be hidden.
panel
- the panel that will be notified that is now shown, must not be null
.name
- the name of the panel that will be shown, must not be null
.public void initParam(Object obj)
obj
- the object that contains the data to be shown in the panels and save themvalidateParam()
,
saveParam()
public void validateParam() throws Exception
The message of the exception can be shown in GUI components (for example, an error dialogue) callers can expect an internationalised message.
Exception
- if there's any validation error.initParam(Object)
,
saveParam()
public void saveParam() throws Exception
The message of the exception can be shown in GUI components (for example, an error dialogue) callers can expect an internationalised message.
Exception
- if there's any error while saving the data.initParam(Object)
,
validateParam()
protected void expandRoot()
expandParamPanelNode(String)
protected void expandParamPanelNode(String panelName)
panelName
- the name of the panel whose node should be expanded, should not be null
.expandRoot()
protected boolean isParamPanelSelected(String panelName)
panelName
- the name of the panel to check if it is selected, should not be null
.true
if the panel is selected, false
otherwise.isParamPanelOrChildSelected(String)
protected boolean isParamPanelOrChildSelected(String panelName)
panelName
- the name of the panel to check, should not be null
.true
if the panel or one of its child panels is selected, false
otherwise.isParamPanelSelected(String)
public int showDialog(boolean showRoot)
public int showDialog(boolean showRoot, String panel)
protected Collection<AbstractParamPanel> getPanels()
public void printTree()
public void renamePanel(AbstractParamPanel panel, String newPanelName)