com.vividsolutions.jump.workbench.ui
Class ValidatingTextField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextField
                      extended by com.vividsolutions.jump.workbench.ui.ValidatingTextField
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

public class ValidatingTextField
extends javax.swing.JTextField

Prevents the user from entering invalid data.

See Also:
Serialized Form

Nested Class Summary
static class ValidatingTextField.BlankCleaner
           
static class ValidatingTextField.BoundedDoubleValidator
           
static class ValidatingTextField.BoundedIntValidator
          Extends CompositeValidator to validat that integers is within a set of boundary values.
static interface ValidatingTextField.Cleaner
           
static class ValidatingTextField.CompositeCleaner
           
static class ValidatingTextField.CompositeValidator
          Implements validator to check for more than one condition.
static class ValidatingTextField.GreaterThanOrEqualValidator
          Implements validator with a greater than or equal to threshold.
static class ValidatingTextField.GreaterThanValidator
          Implements validator with a greater than threshold.
static class ValidatingTextField.LessThanOrEqualValidator
          Implements validator with a less than or equal to threshold.
static class ValidatingTextField.LessThanValidator
          Implements validator with a less than threshold.
static class ValidatingTextField.MaxIntCleaner
           
static class ValidatingTextField.MinIntCleaner
           
static class ValidatingTextField.NumberCleaner
          Leave untouched the really good stuff and the really bad stuff, but replace the sort-of good stuff, as it's probably just transient.
static interface ValidatingTextField.Validator
           
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static ValidatingTextField.Validator DOUBLE_VALIDATOR
          Prevents the user from entering invalid double.
static ValidatingTextField.Cleaner DUMMY_CLEANER
          Cleaner that does nothing.
static ValidatingTextField.Validator DUMMY_VALIDATOR
          Validator that does nothing.
static ValidatingTextField.Validator INTEGER_VALIDATOR
          Prevents the user from entering invalid integer.
static ValidatingTextField.Validator LONG_VALIDATOR
           
static ValidatingTextField.Cleaner NUMBER_CLEANER
          The validators allow the user to simply enter "+", "-", or ".".
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ValidatingTextField(java.lang.String text, int columns, int horizontalAlignment, ValidatingTextField.Validator validator, ValidatingTextField.Cleaner cleaner)
          Validator for text fields.
ValidatingTextField(java.lang.String text, int columns, ValidatingTextField.Validator validator)
          Validator that uses dummy cleaner.
 
Method Summary
 double getDouble()
           
 int getInteger()
           
 java.lang.String getText()
           
static void installValidationBehavior(javax.swing.JTextField textField, ValidatingTextField.Validator validator, ValidatingTextField.Cleaner cleaner)
           
 
Methods inherited from class javax.swing.JTextField
addActionListener, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LONG_VALIDATOR

public static final ValidatingTextField.Validator LONG_VALIDATOR

INTEGER_VALIDATOR

public static final ValidatingTextField.Validator INTEGER_VALIDATOR
Prevents the user from entering invalid integer.


DOUBLE_VALIDATOR

public static final ValidatingTextField.Validator DOUBLE_VALIDATOR
Prevents the user from entering invalid double.


DUMMY_CLEANER

public static ValidatingTextField.Cleaner DUMMY_CLEANER
Cleaner that does nothing.


NUMBER_CLEANER

public static ValidatingTextField.Cleaner NUMBER_CLEANER
The validators allow the user to simply enter "+", "-", or ".". If the user doesn't go any farther, this cleaner will set the text to 0, which is reasonable.


DUMMY_VALIDATOR

public static ValidatingTextField.Validator DUMMY_VALIDATOR
Validator that does nothing.

Constructor Detail

ValidatingTextField

public ValidatingTextField(java.lang.String text,
                           int columns,
                           ValidatingTextField.Validator validator)
Validator that uses dummy cleaner.


ValidatingTextField

public ValidatingTextField(java.lang.String text,
                           int columns,
                           int horizontalAlignment,
                           ValidatingTextField.Validator validator,
                           ValidatingTextField.Cleaner cleaner)
Validator for text fields.

Method Detail

installValidationBehavior

public static void installValidationBehavior(javax.swing.JTextField textField,
                                             ValidatingTextField.Validator validator,
                                             ValidatingTextField.Cleaner cleaner)

getText

public java.lang.String getText()
Overrides:
getText in class javax.swing.text.JTextComponent

getDouble

public double getDouble()

getInteger

public int getInteger()