Class ValidatedDialog

  • All Implemented Interfaces:
    StatusIndicator, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    Direct Known Subclasses:
    FormDialog

    public class ValidatedDialog
    extends MessageDialog
    A dialog with save and cancel buttons and a validation status area. The save action is disabled when there are validation errors. Other conditions for enabling the save action can be added using addSaveCondition(BooleanSupplier).
    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
      protected static int BUTTON_BAR_BORDER  
      protected javax.swing.JComponent buttonBar  
      protected CancelAction cancelAction  
      protected javax.swing.JPanel formPanel  
      protected static java.lang.String SAVE_MNEMONIC_AND_NAME  
      protected javax.swing.Action saveAction  
      • 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
      ValidatedDialog​(java.awt.Window owner, java.lang.String title, java.awt.Dialog.ModalityType modalityType, java.util.ResourceBundle bundle)  
      ValidatedDialog​(java.awt.Window owner, java.lang.String title, java.util.ResourceBundle bundle)
      Create a document modal dialog.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addButton​(javax.swing.Action action)
      Add a button to the button bar.
      void addSaveCondition​(java.util.function.BooleanSupplier condition)
      Add a condition for enabling the save action.
      protected void addValidationListener​(java.util.function.Consumer<java.util.Collection<java.lang.String>> listener)  
      protected javax.swing.JPanel getFormPanel()  
      protected int getStatusHeight()  
      java.util.Collection<java.lang.String> getValidationMessages()  
      boolean isCancelled()  
      boolean isSaveEnabled()
      Get the enabled state of the save action.
      protected void onSave()
      Dispose the dialog when the save button is clicked.
      protected void setStatusText​(java.util.Collection<java.lang.String> messages)
      Set the messages in the validation status area.
      void setVisible​(boolean visible)
      Overridden to reset the cancel action.
      void updateSaveEnabled()
      Update the enabled state of the save action.
      • 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, setLocale, 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

      • SAVE_MNEMONIC_AND_NAME

        protected static final java.lang.String SAVE_MNEMONIC_AND_NAME
      • formPanel

        protected final javax.swing.JPanel formPanel
      • saveAction

        protected final javax.swing.Action saveAction
      • buttonBar

        protected final javax.swing.JComponent buttonBar
    • Constructor Detail

      • ValidatedDialog

        public ValidatedDialog​(java.awt.Window owner,
                               java.lang.String title,
                               java.util.ResourceBundle bundle)
        Create a document modal dialog.
      • ValidatedDialog

        public ValidatedDialog​(java.awt.Window owner,
                               java.lang.String title,
                               java.awt.Dialog.ModalityType modalityType,
                               java.util.ResourceBundle bundle)
    • Method Detail

      • addSaveCondition

        public void addSaveCondition​(java.util.function.BooleanSupplier condition)
        Add a condition for enabling the save action. All save conditions must be true for the action to be enabled.
      • getStatusHeight

        protected int getStatusHeight()
      • getFormPanel

        protected javax.swing.JPanel getFormPanel()
      • addValidationListener

        protected void addValidationListener​(java.util.function.Consumer<java.util.Collection<java.lang.String>> listener)
      • addButton

        protected void addButton​(javax.swing.Action action)
        Add a button to the button bar. The button is added before the Cancel button.
      • updateSaveEnabled

        public void updateSaveEnabled()
        Update the enabled state of the save action.
      • isSaveEnabled

        public boolean isSaveEnabled()
        Get the enabled state of the save action.
      • onSave

        protected void onSave()
        Dispose the dialog when the save button is clicked.
      • setVisible

        public void setVisible​(boolean visible)
        Overridden to reset the cancel action.
        Overrides:
        setVisible in class MessageDialog
      • getValidationMessages

        public java.util.Collection<java.lang.String> getValidationMessages()
      • isCancelled

        public boolean isCancelled()
        Returns:
        true if the dialog was cancelled
      • setStatusText

        protected void setStatusText​(java.util.Collection<java.lang.String> messages)
        Set the messages in the validation status area.