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
 
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.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.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.
 void doClose()
          The callback method executed when closing the dialog.
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.
protected  void setTitleFromContent()
          Infers and sets this dialog's title from the the content.
 void setVisible(boolean visible)
          Shows or hides this component 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, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, 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, removeNotify, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, 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

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 component 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 Component
Parameters:
visible - if true, shows this component; otherwise, hides this component
See Also:
Component.isVisible()

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.