net.sf.taverna.t2.lang.ui
Class ValidatingUserInputDialog

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 net.sf.taverna.t2.lang.ui.ValidatingUserInputDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ValidatingUserInputDialog
extends javax.swing.JDialog

A user input dialog that validates the input as the user is entering the input and gives feedback on why the input is invalid.

Author:
David Withers
See Also:
Serialized Form

Field Summary
 
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
ValidatingUserInputDialog(java.lang.String inputTitle, javax.swing.JPanel inputPanel)
          Constructs a new instance of ValidatingUserInputDialog.
 
Method Summary
 void addMessageComponent(java.awt.Component component, java.lang.String message)
          Adds a component and a message to display when the component is in focus.
 void addTextComponentValidation(javax.swing.text.JTextComponent textComponent, java.lang.String inputMessage, java.util.Set<java.lang.String> invalidInputs, java.lang.String invalidInputsMessage, java.lang.String inputRegularExpression, java.lang.String inputRegularExpressionMessage)
          Adds a text component and the rules for a valid user entry.
 void setErrorMessage(java.lang.String message)
           
 void setMessage(java.lang.String message)
           
 void setWarningMessage(java.lang.String message)
           
 boolean show(java.awt.Component component)
          Show the dialog relative to the component.
 
Methods inherited from class javax.swing.JDialog
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, 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, 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, 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, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValidatingUserInputDialog

public ValidatingUserInputDialog(java.lang.String inputTitle,
                                 javax.swing.JPanel inputPanel)
Constructs a new instance of ValidatingUserInputDialog.

Parameters:
inputTitle - the title for the dialog.
inputMessage - the message describing what the user should input.
Method Detail

addTextComponentValidation

public void addTextComponentValidation(javax.swing.text.JTextComponent textComponent,
                                       java.lang.String inputMessage,
                                       java.util.Set<java.lang.String> invalidInputs,
                                       java.lang.String invalidInputsMessage,
                                       java.lang.String inputRegularExpression,
                                       java.lang.String inputRegularExpressionMessage)
Adds a text component and the rules for a valid user entry.

Parameters:
textComponent - the text component to validate
invalidInputs - a set of inputs that are not valid. This is typically a set of already used identifiers to avoid name clashes. Can be an empty set or null.
invalidInputsMessage - the message to display if the user enters a value that is in invalidInputs.
inputRegularExpression - a regular expression that specifies a valid user input. Can be null.
inputRegularExpressionMessage - the message to display if the user enters a value that doesn't match the inputRegularExpression.

addMessageComponent

public void addMessageComponent(java.awt.Component component,
                                java.lang.String message)
Adds a component and a message to display when the component is in focus.

Parameters:
component - the component to add
message - the message to display when the component is in focus

setMessage

public void setMessage(java.lang.String message)

setWarningMessage

public void setWarningMessage(java.lang.String message)

setErrorMessage

public void setErrorMessage(java.lang.String message)

show

public boolean show(java.awt.Component component)
Show the dialog relative to the component. If the component is null then the dialog is shown in the centre of the screen. Returns true if the user input is valid.

Parameters:
component - the component that the dialog is shown relative to
Returns:
true if the user input is valid