Package org.jdesktop.swingx
Class JXDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- org.jdesktop.swingx.JXDialog
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class JXDialog extends javax.swing.JDialog
First cut for enhanced Dialog. The idea is to have a pluggable content from which the dialog auto-configures all its "dialogueness".- accepts a content and configures itself from content's properties - replaces the execute action from the appropriate action in content's action map (if any) and set's its title from the content's name.
- registers stand-in actions for close/execute with the dialog's RootPane
- registers keyStrokes for esc/enter to trigger the close/execute actions
- takes care of building the button panel using the close/execute actions.
- TODO: add link to forum discussion, wiki summary?
- PENDING: add support for vetoing the close.
- PENDING: add complete set of constructors
- PENDING: add windowListener to delegate to close action
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CLOSE_ACTION_COMMAND
protected javax.swing.JComponent
content
static java.lang.String
EXECUTE_ACTION_COMMAND
static java.lang.String
UIPREFIX
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JXDialog(java.awt.Dialog dialog, javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and the specifiedDialog
as owner.JXDialog(java.awt.Frame frame, javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and the specifiedFrame
as owner.JXDialog(javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and without specified owner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.swing.JComponent
createButtonPanel()
create the dialog button controls.void
doClose()
The callback method executed when closing the dialog.protected java.lang.String
getUIString(java.lang.String key)
Returns a potentially localized value from the UIManager.protected java.lang.String
getUIString(java.lang.String key, java.util.Locale locale)
Returns a potentially localized value from the UIManager for the given locale.void
setLocale(java.util.Locale l)
protected void
setTitleFromContent()
Infers and sets this dialog's title from the the content.void
setVisible(boolean visible)
Overridden to check if content is available.protected void
updateLocaleState(java.util.Locale locale)
Updates this dialog's locale-dependent state.-
Methods inherited from class javax.swing.JDialog
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
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
-
Methods inherited from class java.awt.Window
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
-
Methods inherited from class java.awt.Container
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
-
Methods inherited from class java.awt.Component
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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
EXECUTE_ACTION_COMMAND
public static final java.lang.String EXECUTE_ACTION_COMMAND
- See Also:
- Constant Field Values
-
CLOSE_ACTION_COMMAND
public static final java.lang.String CLOSE_ACTION_COMMAND
- See Also:
- Constant Field Values
-
UIPREFIX
public static final java.lang.String UIPREFIX
- See Also:
- Constant Field Values
-
content
protected javax.swing.JComponent content
-
-
Constructor Detail
-
JXDialog
public JXDialog(javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and without specified owner. A shared, hidden frame will be set as the owner of the dialog.- Parameters:
content
- the component to show and to auto-configure from.
-
JXDialog
public JXDialog(java.awt.Frame frame, javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and the specifiedFrame
as owner.- Parameters:
frame
- the ownercontent
- the component to show and to auto-configure from.
-
JXDialog
public JXDialog(java.awt.Dialog dialog, javax.swing.JComponent content)
Creates a non-modal dialog with the given component as content and the specifiedDialog
as owner.- Parameters:
dialog
- the ownercontent
- the component to show and to auto-configure from.
-
-
Method Detail
-
setTitleFromContent
protected void setTitleFromContent()
Infers and sets this dialog's title from the the content. Does nothing if content is null. Here: uses the content's name as title.
-
setVisible
public void setVisible(boolean visible)
Overridden to check if content is available.PENDING: doesn't make sense - the content is immutable and guaranteed to be not null.
- Overrides:
setVisible
in classjava.awt.Dialog
-
setLocale
public void setLocale(java.util.Locale l)
Overridden to set the content's Locale and then updated this dialog's internal state.
- Overrides:
setLocale
in classjava.awt.Component
-
updateLocaleState
protected void updateLocaleState(java.util.Locale locale)
Updates this dialog's locale-dependent state. Here: updates title and actions.- See Also:
setLocale(Locale)
-
doClose
public void doClose()
The callback method executed when closing the dialog.Here: calls dispose.
-
createButtonPanel
protected javax.swing.JComponent createButtonPanel()
create the dialog button controls.- Returns:
- panel containing button controls
-
getUIString
protected java.lang.String getUIString(java.lang.String key)
Returns a potentially localized value from the UIManager. The given key is prefixed by this component|sUIPREFIX
before doing the lookup. The lookup respects this table's currentlocale
property. Returns the key, if no value is found.- Parameters:
key
- the bare key to look up in the UIManager.- Returns:
- the value mapped to UIPREFIX + key or key if no value is found.
-
getUIString
protected java.lang.String getUIString(java.lang.String key, java.util.Locale locale)
Returns a potentially localized value from the UIManager for the given locale. The given key is prefixed by this component'sUIPREFIX
before doing the lookup. Returns the key, if no value is found.- Parameters:
key
- the bare key to look up in the UIManager.locale
- the locale use for lookup- Returns:
- the value mapped to UIPREFIX + key in the given locale, or key if no value is found.
-
-