org.jdesktop.swingx
Class JXDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.jdesktop.swingx.JXDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class JXDialog
extends JDialog

First cut for enhanced Dialog. The idea is to have a pluggable content from which the dialog auto-configures all its "dialogueness".

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
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
static String CLOSE_ACTION_COMMAND
           
protected  JComponent content
           
static String EXECUTE_ACTION_COMMAND
           
static String UIPREFIX
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JXDialog(Dialog dialog, JComponent content)
          Creates a non-modal dialog with the given component as content and the specified Dialog as owner.
JXDialog(Frame frame, JComponent content)
          Creates a non-modal dialog with the given component as content and the specified Frame as owner.
JXDialog(JComponent content)
          Creates a non-modal dialog with the given component as content and without specified owner.
 
Method Summary
protected  JComponent createButtonPanel()
          create the dialog button controls.
protected  JXRootPane createRootPane()
          Called by the constructor methods to create the default rootPane.
 void doClose()
          The callback method executed when closing the dialog.
 JXRootPane getRootPane()
          Returns the rootPane object for this dialog.
 JXStatusBar getStatusBar()
          Returns the value of the status bar property from the underlying JXRootPane.
 JToolBar getToolBar()
          Returns the value of the tool bar property from the underlying JXRootPane.
protected  String getUIString(String key)
          Returns a potentially localized value from the UIManager.
protected  String getUIString(String key, Locale locale)
          Returns a potentially localized value from the UIManager for the given locale.
 void setLocale(Locale l)
          Sets the locale of this component.
 void setStatusBar(JXStatusBar statusBar)
          Sets the status bar property on the underlying JXRootPane.
protected  void setTitleFromContent()
          Infers and sets this dialog's title from the the content.
 void setToolBar(JToolBar toolBar)
          Sets the tool bar property on the underlying JXRootPane.
 void setVisible(boolean visible)
          Shows or hides this Dialog depending on the value of parameter b.
protected  void updateLocaleState(Locale locale)
          Updates this dialog's locale-dependent state.
 
Methods inherited from class javax.swing.JDialog
addImpl, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, 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, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, 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, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EXECUTE_ACTION_COMMAND

public static final String EXECUTE_ACTION_COMMAND
See Also:
Constant Field Values

CLOSE_ACTION_COMMAND

public static final String CLOSE_ACTION_COMMAND
See Also:
Constant Field Values

UIPREFIX

public static final String UIPREFIX
See Also:
Constant Field Values

content

protected JComponent content
Constructor Detail

JXDialog

public JXDialog(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(Frame frame,
                JComponent content)
Creates a non-modal dialog with the given component as content and the specified Frame as owner.

Parameters:
frame - the owner
content - the component to show and to auto-configure from.

JXDialog

public JXDialog(Dialog dialog,
                JComponent content)
Creates a non-modal dialog with the given component as content and the specified Dialog as owner.

Parameters:
dialog - the owner
content - the component to show and to auto-configure from.
Method Detail

createRootPane

protected JXRootPane createRootPane()
Called by the constructor methods to create the default rootPane.

Overrides:
createRootPane in class JDialog

getRootPane

public JXRootPane getRootPane()
Returns the rootPane object for this dialog.

Specified by:
getRootPane in interface RootPaneContainer
Overrides:
getRootPane in class JDialog
Returns:
this components single JRootPane child.
See Also:
JDialog.setRootPane(javax.swing.JRootPane), RootPaneContainer.getRootPane()

setStatusBar

public void setStatusBar(JXStatusBar statusBar)
Sets the status bar property on the underlying JXRootPane.

Parameters:
statusBar - the JXStatusBar which is to be the status bar
See Also:
getStatusBar(), JXRootPane.setStatusBar(JXStatusBar)

getStatusBar

public JXStatusBar getStatusBar()
Returns the value of the status bar property from the underlying JXRootPane.

Returns:
the JXStatusBar which is the current status bar
See Also:
setStatusBar(JXStatusBar), JXRootPane.getStatusBar()

setToolBar

public void setToolBar(JToolBar toolBar)
Sets the tool bar property on the underlying JXRootPane.

Parameters:
toolBar - the JToolBar which is to be the tool bar
See Also:
getToolBar(), JXRootPane.setToolBar(JToolBar)

getToolBar

public JToolBar getToolBar()
Returns the value of the tool bar property from the underlying JXRootPane.

Returns:
the JToolBar which is the current tool bar
See Also:
setToolBar(JToolBar), JXRootPane.getToolBar()

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)
Shows or hides this Dialog depending on the value of parameter b. 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 class Dialog
Parameters:
visible - if true, makes the Dialog visible, otherwise hides the Dialog. If the dialog and/or its owner are not yet displayable, both are made displayable. The dialog will be validated prior to being made visible. If false, hides the Dialog and then causes setVisible(true) to return if it is currently blocked.

Notes for modal dialogs.

  • setVisible(true): If the dialog is not already visible, this call will not return until the dialog is hidden by calling setVisible(false) or dispose.
  • setVisible(false): Hides the dialog and then returns on setVisible(true) if it is currently blocked.
  • It is OK to call this method from the event dispatching thread because the toolkit ensures that other events are not blocked while this method is blocked.
See Also:
Window.setVisible(boolean), Window.dispose(), Component.isDisplayable(), Component.validate(), Dialog.isModal()

setLocale

public void setLocale(Locale l)
Sets the locale of this component. This is a bound property.

Overridden to set the content's Locale and then updated this dialog's internal state.

Overrides:
setLocale in class Component
Parameters:
l - the locale to become this component's locale
See Also:
Component.getLocale()

updateLocaleState

protected void updateLocaleState(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 JComponent createButtonPanel()
create the dialog button controls.

Returns:
panel containing button controls

getUIString

protected String getUIString(String key)
Returns a potentially localized value from the UIManager. The given key is prefixed by this component|s UIPREFIX before doing the lookup. The lookup respects this table's current locale 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 String getUIString(String key,
                             Locale locale)
Returns a potentially localized value from the UIManager for the given locale. The given key is prefixed by this component's UIPREFIX 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.