Package io.github.jonestimd.swing.dialog
Class ValidatedDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- io.github.jonestimd.swing.dialog.MessageDialog
-
- io.github.jonestimd.swing.dialog.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 usingaddSaveCondition(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
-
-
Field Summary
Fields Modifier and Type Field Description protected static intBUTTON_BAR_BORDERprotected javax.swing.JComponentbuttonBarprotected CancelActioncancelActionprotected javax.swing.JPanelformPanelprotected static java.lang.StringSAVE_MNEMONIC_AND_NAMEprotected javax.swing.ActionsaveAction-
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 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 voidaddButton(javax.swing.Action action)Add a button to the button bar.voidaddSaveCondition(java.util.function.BooleanSupplier condition)Add a condition for enabling the save action.protected voidaddValidationListener(java.util.function.Consumer<java.util.Collection<java.lang.String>> listener)protected javax.swing.JPanelgetFormPanel()protected intgetStatusHeight()java.util.Collection<java.lang.String>getValidationMessages()booleanisCancelled()booleanisSaveEnabled()Get the enabled state of the save action.protected voidonSave()Dispose the dialog when the save button is clicked.protected voidsetStatusText(java.util.Collection<java.lang.String> messages)Set the messages in the validation status area.voidsetVisible(boolean visible)Overridden to reset the cancel action.voidupdateSaveEnabled()Update the enabled state of the save action.-
Methods inherited from class io.github.jonestimd.swing.dialog.MessageDialog
disableUI, enableUI, setStatusMessage
-
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
-
-
-
-
Field Detail
-
BUTTON_BAR_BORDER
protected static final int BUTTON_BAR_BORDER
- See Also:
- Constant Field Values
-
SAVE_MNEMONIC_AND_NAME
protected static final java.lang.String SAVE_MNEMONIC_AND_NAME
-
formPanel
protected final javax.swing.JPanel formPanel
-
cancelAction
protected final CancelAction cancelAction
-
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:
setVisiblein classMessageDialog
-
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.
-
-