Package com.jidesoft.dialog
Class StandardDialogPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.jidesoft.dialog.StandardDialogPane
- All Implemented Interfaces:
ButtonNames
,ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
MultiplePageDialogPane
,StandardDialog.DefaultStandardDialogPane
StandardDialogPane is the content pane of StandardDialog. It can also be used when you want the template of StandardDialog but you don't want to use JDialog.
- Introduce laziness. The content will not be filled until pack() or show() be called.
- Default action and cancel action. User can set default action and cancel action of this dialog. By default, ENTER key will trigger the default action and ESC key will trigger the cancel action and set the dialog result to RESULT_CANCELLED.
- Divide the whole ContentPane of the dialog into three parts - content panel, button panel and banner panel. By default, they are added to CENTER, SOUTH and NORTH of a BorderLayout respectively. There isn't anything special about this. However if all your dialogs use this pattern, it will automatically make the user interface more consistent.
StandardDialogPane
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. Basically, if you want to add StandardDialogPane without StandardDialog, the following code are required for the pane to be ready to add
to its parent container.
pane = new StandardDialogPane() {
public JComponent createBannerPanel() {
return null;
}
public JComponent createContentPanel() {
return null;
}
public ButtonPanel createButtonPanel() {
return null;
}
};
pane.initComponents();
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JComponent
protected ButtonPanel
protected JComponent
static final String
static final String
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface com.jidesoft.dialog.ButtonNames
APPLY, BACK, BROWSE, CANCEL, CLEAR, CLOSE, DETAILS, EDIT, EXIT, FIND, FIND_NEXT, FINISH, FORWARD, HELP, NEW, NEXT, NO, OK, OPEN, PRINT, REPLACE, RESET, RETRY, RUN, SAVE, SAVE_AS, STOP, YES
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract JComponent
Subclasses should implement this method to create the banner panel.abstract ButtonPanel
Subclasses should implement this method to create the button panel.abstract JComponent
Subclasses should implement this method to create the content panel.Gets the banner panel created by createBannerPanel.Gets the banner panel created by createButtonPanel.Gets the banner panel created by createContentPanel.Gets the default action.Get default cancel action.Gets the initial focused component when dialog is shown.void
Call three createXxxPanel methods and layout them using BorderLayout.protected void
layoutComponents
(Component bannerPanel, Component contentPanel, ButtonPanel buttonPanel) Setups the layout for the three panels - banner panel, content panel and button panel.void
setDefaultAction
(Action defaultAction) Sets the default action.void
setDefaultCancelAction
(Action defaultCancelAction) Set default cancel action.void
setInitFocusedComponent
(Component initFocusedComponent) Sets the initial focused component when dialog is shown.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
_bannerPanel
-
_contentPanel
-
_buttonPanel
-
PROPERTY_CANCEL_ACTION
- See Also:
-
PROPERTY_DEFAULT_ACTION
- See Also:
-
-
Constructor Details
-
StandardDialogPane
- Throws:
HeadlessException
-
-
Method Details
-
getDefaultCancelAction
Get default cancel action. Default cancel action will be triggered when ESC is pressed.- Returns:
- the default cancel action
-
setDefaultCancelAction
Set default cancel action. Default cancel action will be triggered when ESC is pressed.- Parameters:
defaultCancelAction
- the default cancel action
-
getDefaultAction
Gets the default action. Default action will be trigger when ENTEY key is pressed.- Returns:
- the default action.
-
setDefaultAction
Sets the default action. Default action will be trigger when ENTEY key is pressed.- Parameters:
defaultAction
- the default action.
-
initComponents
public void initComponents()Call three createXxxPanel methods and layout them using BorderLayout. By default, banner panel, content panel and button panel are added to NORTH, CENTER and SOUTH of BorderLayout respectively. You can override this method if you want to layout them in another way. -
layoutComponents
protected void layoutComponents(Component bannerPanel, Component contentPanel, ButtonPanel buttonPanel) Setups the layout for the three panels - banner panel, content panel and button panel. By default, we will use BorderLayout, put the content panel in the middle, banner panel on the top and button panel either right or bottom depending on its alignment. Subclass can override it to do your own layout. The three panels are the three parameters.- Parameters:
bannerPanel
- the banner panelcontentPanel
- the content panelbuttonPanel
- the button panel
-
getInitFocusedComponent
Gets the initial focused component when dialog is shown.- Returns:
- the initial focused component
-
setInitFocusedComponent
Sets the initial focused component when dialog is shown.- Parameters:
initFocusedComponent
- the initial focused component
-
getBannerPanel
Gets the banner panel created by createBannerPanel.- Returns:
- the banner panel.
-
getContentPanel
Gets the banner panel created by createContentPanel.- Returns:
- the content panel.
-
getButtonPanel
Gets the banner panel created by createButtonPanel.- Returns:
- the button panel.
-
createBannerPanel
Subclasses should implement this method to create the banner panel. By default banner panel will appear on top of the dialog unless you override initComponent() method. Banner panel is really used to balance the layout of dialog to make the dialog looking good. However it can be used to show some help text. It is highly recommended to use ourBannerPanel
If subclass doesn't want to have a banner panel, just return null.- Returns:
- the banner panel.
-
createContentPanel
Subclasses should implement this method to create the content panel. This is the main panel of the dialog which will be added to the center of the dialog. Subclass should never return null.- Returns:
- the content panel.
-
createButtonPanel
Subclasses should implement this method to create the button panel. 90% of dialogs have buttons. It is highly recommended to use ourButtonPanel
.- Returns:
- the button panel.
- See Also:
-