Class 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
    Author:
    Jeanette Winzenburg, Karl Schaefer
    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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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.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 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • 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 specified Dialog as owner.
      JXDialog​(java.awt.Frame frame, javax.swing.JComponent content)
      Creates a non-modal dialog with the given component as content and the specified Frame 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.
      protected JXRootPane createRootPane()
      void doClose()
      The callback method executed when closing the dialog.
      JXRootPane getRootPane()
      JXStatusBar getStatusBar()
      Returns the value of the status bar property from the underlying JXRootPane.
      javax.swing.JToolBar getToolBar()
      Returns the value of the tool bar property from the underlying JXRootPane.
      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)
      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​(javax.swing.JToolBar toolBar)
      Sets the tool bar property on the underlying JXRootPane.
      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, 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, 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
      • 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 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
      • 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 specified Frame as owner.

        Parameters:
        frame - the owner
        content - 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 specified Dialog as owner.

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

      • createRootPane

        protected JXRootPane createRootPane()
        Overrides:
        createRootPane in class javax.swing.JDialog
      • getRootPane

        public JXRootPane getRootPane()
        Specified by:
        getRootPane in interface javax.swing.RootPaneContainer
        Overrides:
        getRootPane in class javax.swing.JDialog
      • setToolBar

        public void setToolBar​(javax.swing.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 javax.swing.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)
        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 java.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 class java.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|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 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'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.