org.netbeans.validation.api.ui
Class ValidationPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.netbeans.validation.api.ui.ValidationPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, ValidationGroupProvider

public final class ValidationPanel
extends javax.swing.JPanel
implements ValidationGroupProvider

A simple panel which can display a problem, fire changes when the problem changes. To use, create your own panel and call setInnerComponent() with it. Call getValidationGroup() to add other components to the validation group.

Author:
Tim Boudreau
See Also:
Serialized Form

Nested Class Summary
Modifier and Type Class and Description
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
Modifier and Type Field and Description
protected  ValidationGroup group
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface org.netbeans.validation.api.ui.ValidationGroupProvider
CLIENT_PROP_VALIDATION_GROUP
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Constructor and Description
ValidationPanel()
           
ValidationPanel(ValidationGroup group)
           
 
Method Summary
Modifier and Type Method and Description
 void addChangeListener(javax.swing.event.ChangeListener cl)
          Add a change listener which will be notified when the problem returned by getProblem changes
protected  void addImpl(java.awt.Component comp, java.lang.Object constraints, int index)
           
 void addNotify()
          Overridden to call getValidationGroup().validateAll(null); to make sure any error messages are shown if the initial state of the UI is invalid.
 Problem getProblem()
          Get the last reported problem
 ValidationGroup getValidationGroup()
          Get this panel's built-in validation group, which drives its display of error messages.
 boolean isProblem()
          Determine if there currently is a problem
 void removeChangeListener(javax.swing.event.ChangeListener cl)
          Add a change listener which will be notified when the problem returned by getProblem changes
 void removeDelegateValidationUI(ValidationUI ui)
           
 void setDelegateValidationUI(ValidationUI ui)
           
 void setInnerComponent(java.awt.Component c)
          Set the inner component which will be displayed above the problem label
 void setLayout(java.awt.LayoutManager mgr)
          Overridden to disallow setting the layout manager.
 boolean showOkCancelDialog(java.lang.String title)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, 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

group

protected final ValidationGroup group
Constructor Detail

ValidationPanel

public ValidationPanel(ValidationGroup group)

ValidationPanel

public ValidationPanel()
Method Detail

setDelegateValidationUI

public void setDelegateValidationUI(ValidationUI ui)

removeDelegateValidationUI

public void removeDelegateValidationUI(ValidationUI ui)

showOkCancelDialog

public boolean showOkCancelDialog(java.lang.String title)

addNotify

public void addNotify()
Overridden to call getValidationGroup().validateAll(null); to make sure any error messages are shown if the initial state of the UI is invalid.

Overrides:
addNotify in class javax.swing.JComponent

getValidationGroup

public final ValidationGroup getValidationGroup()
Get this panel's built-in validation group, which drives its display of error messages. Add an inner panel by calling setInnerComponent(), then add your components to that, and add them to the validation group using whatever validators you want

Specified by:
getValidationGroup in interface ValidationGroupProvider
Returns:
The validation group

setLayout

public final void setLayout(java.awt.LayoutManager mgr)
Overridden to disallow setting the layout manager. Use setInnerComponent().

Overrides:
setLayout in class java.awt.Container
Parameters:
mgr -

setInnerComponent

public final void setInnerComponent(java.awt.Component c)
Set the inner component which will be displayed above the problem label

Parameters:
c - The component

addImpl

protected void addImpl(java.awt.Component comp,
                       java.lang.Object constraints,
                       int index)
Overrides:
addImpl in class java.awt.Container

getProblem

public final Problem getProblem()
Get the last reported problem

Returns:
the problem, or null

isProblem

public final boolean isProblem()
Determine if there currently is a problem

Returns:
true if there is a problem

addChangeListener

public final void addChangeListener(javax.swing.event.ChangeListener cl)
Add a change listener which will be notified when the problem returned by getProblem changes

Parameters:
cl - a change listener

removeChangeListener

public final void removeChangeListener(javax.swing.event.ChangeListener cl)
Add a change listener which will be notified when the problem returned by getProblem changes

Parameters:
cl - a change listener