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.JDialogFirst 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.StringCLOSE_ACTION_COMMANDprotected javax.swing.JComponentcontentstatic java.lang.StringEXECUTE_ACTION_COMMANDstatic java.lang.StringUIPREFIX-
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 specifiedDialogas owner.JXDialog(java.awt.Frame frame, javax.swing.JComponent content)Creates a non-modal dialog with the given component as content and the specifiedFrameas 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.JComponentcreateButtonPanel()create the dialog button controls.voiddoClose()The callback method executed when closing the dialog.protected java.lang.StringgetUIString(java.lang.String key)Returns a potentially localized value from the UIManager.protected java.lang.StringgetUIString(java.lang.String key, java.util.Locale locale)Returns a potentially localized value from the UIManager for the given locale.voidsetLocale(java.util.Locale l)protected voidsetTitleFromContent()Infers and sets this dialog's title from the the content.voidsetVisible(boolean visible)Overridden to check if content is available.protected voidupdateLocaleState(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 specifiedFrameas 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 specifiedDialogas 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:
setVisiblein 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:
setLocalein 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|sUIPREFIXbefore doing the lookup. The lookup respects this table's currentlocaleproperty. 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'sUIPREFIXbefore 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.
-
-