org.dmonix.gui
Class TextField

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.text.JTextComponent
                  extended byjavax.swing.JTextField
                      extended byorg.dmonix.gui.TextField
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.SwingConstants
Direct Known Subclasses:
PasswordField

public class TextField
extends javax.swing.JTextField

A text field that can be validated against a regular expression.
Useful for creating textfields that may only contain specific types of characters, e.g. alpha-numeric or only numeric characters.
If the value of the textfield does not match the pattern a NotValidException is thrown.

Copyright: Copyright (c) 2003

Company: dmonix.org

Version:
1.0
Author:
Peter Nerg
See Also:
Serialized Form

Nested Class Summary
protected  class TextField.ErrorPattern
          A value object for error patterns.
 
Nested classes inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.lang.String errorMessage
           
protected  java.util.LinkedList errorPatterns
           
protected  java.lang.Object initialValue
           
protected  boolean mandatory
          specifies if this text field is mandatory
protected static java.awt.Color MANDATORY_COLOR
           
protected  int maxLength
          max chars for text fields
protected  int noOfChars
          the width for the text field
static java.util.regex.Pattern NUMBER_PATTERN
          A predefined pattern that only accepts numbers.
protected  int numberRangeMax
           
protected  int numberRangeMin
           
protected  java.util.regex.Pattern pattern
           
protected  java.lang.Object value
           
static java.util.regex.Pattern XML_INVALID_CHARS
          A predefined pattern to check that a string doesn't contain any XML invalid characters & , < , > , ' 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
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.Container
 
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
TextField()
          Constructs a default TextField.
TextField(java.util.regex.Pattern pattern)
          Constructs a TextField using a specified pattern.
TextField(java.util.regex.Pattern pattern, java.lang.Object value)
          Constructs a TextField using a specified pattern and value.
TextField(java.lang.String pattern)
          Constructs a TextField using a specified pattern.
TextField(java.lang.String pattern, java.lang.Object value)
          Constructs a TextField using a specified pattern and value.
 
Method Summary
 void addErrorPattern(java.util.regex.Pattern errorPattern, java.lang.String errorMessage)
          Add an error pattern to use when validating this field and a message to use if it don't match.
 void addErrorPattern(java.lang.String errorPattern, java.lang.String errorMessage)
          Add an error pattern to use when validating this field and a message to use if it don't match.
protected  void error()
           
 void setMandatory(boolean mandatory)
          Set to true if this field is mandatory.
 void setMaxLength(int maxLength)
          Set the maximum numbers of characters that can be written in this field.
 void setNumberRange(int min, int max)
          Set the number range for this field.
 void setPattern(java.util.regex.Pattern pattern)
          Set the pattern to use with this text field.
 void setPattern(java.util.regex.Pattern pattern, java.lang.String errorMessage)
          Set the pattern to use with this field and a specific error message.
 void setPattern(java.lang.String pattern)
          Set the pattern to use with this text field.
 void setPattern(java.lang.String pattern, java.lang.String errorMessage)
          Set the pattern to use with this field and a specific error message.
 void setWidth(int noOfChars)
          Set the number of chars that should be visible in the text field.
protected  void this_keyTyped(java.awt.event.KeyEvent e)
           
 void validateText()
          Validates the entire input sequence against the pattern.
 void validateText(java.lang.String text)
          Validate the input text towards the pattern for this textfield.
 
Methods inherited from class javax.swing.JTextField
addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, 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, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NUMBER_PATTERN

public static final java.util.regex.Pattern NUMBER_PATTERN
A predefined pattern that only accepts numbers.


XML_INVALID_CHARS

public static final java.util.regex.Pattern XML_INVALID_CHARS
A predefined pattern to check that a string doesn't contain any XML invalid characters & , < , > , ' or "


MANDATORY_COLOR

protected static final java.awt.Color MANDATORY_COLOR

errorPatterns

protected java.util.LinkedList errorPatterns

pattern

protected java.util.regex.Pattern pattern

value

protected java.lang.Object value

initialValue

protected java.lang.Object initialValue

mandatory

protected boolean mandatory
specifies if this text field is mandatory


noOfChars

protected int noOfChars
the width for the text field


maxLength

protected int maxLength
max chars for text fields


numberRangeMin

protected int numberRangeMin

numberRangeMax

protected int numberRangeMax

errorMessage

protected java.lang.String errorMessage
Constructor Detail

TextField

public TextField()
Constructs a default TextField.


TextField

public TextField(java.lang.String pattern)
Constructs a TextField using a specified pattern.

Parameters:
pattern - the pattern

TextField

public TextField(java.util.regex.Pattern pattern)
Constructs a TextField using a specified pattern.

Parameters:
pattern - the java.util.regex.Pattern to use with this text field

TextField

public TextField(java.lang.String pattern,
                 java.lang.Object value)
Constructs a TextField using a specified pattern and value.

Parameters:
pattern - the pattern to use with this text field
value - the value of the text field

TextField

public TextField(java.util.regex.Pattern pattern,
                 java.lang.Object value)
Constructs a TextField using a specified pattern and value.

Parameters:
pattern - the java.util.regex.Pattern to use with this text field
value - the value of the text field
Method Detail

setPattern

public void setPattern(java.lang.String pattern)
Set the pattern to use with this text field.

Parameters:
pattern - the pattern to use with this text field
See Also:
java.util.regex.Pattern

setPattern

public void setPattern(java.util.regex.Pattern pattern)
Set the pattern to use with this text field.

Parameters:
pattern - the java.util.regex.Pattern to use with this text field
See Also:
java.util.regex.Pattern

setPattern

public void setPattern(java.lang.String pattern,
                       java.lang.String errorMessage)
Set the pattern to use with this field and a specific error message.

Parameters:
pattern - the patter to use with this text field
errorMessage - the error message

setPattern

public void setPattern(java.util.regex.Pattern pattern,
                       java.lang.String errorMessage)
Set the pattern to use with this field and a specific error message.

Parameters:
pattern - the java.util.regex.Pattern to use with this text field
errorMessage - the error message

setNumberRange

public void setNumberRange(int min,
                           int max)
                    throws java.lang.IllegalArgumentException
Set the number range for this field.

Parameters:
min - the minimum characters that can be used
max - the maximum characters that can be used
Throws:
java.lang.IllegalArgumentException

validateText

public void validateText()
                  throws NotValidException
Validates the entire input sequence against the pattern.
The method will not perform any validation if the texfield is not visible, enabled and editable

Throws:
NotValidException - If the text doesn't match the pattern

validateText

public void validateText(java.lang.String text)
                  throws NotValidException
Validate the input text towards the pattern for this textfield.

Parameters:
text - The text to validate
Throws:
NotValidException - If the text doesn't match the pattern

error

protected void error()

addErrorPattern

public void addErrorPattern(java.util.regex.Pattern errorPattern,
                            java.lang.String errorMessage)
Add an error pattern to use when validating this field and a message to use if it don't match.

Parameters:
errorPattern - the error pattern
errorMessage - the error message

addErrorPattern

public void addErrorPattern(java.lang.String errorPattern,
                            java.lang.String errorMessage)
Add an error pattern to use when validating this field and a message to use if it don't match.

Parameters:
errorPattern - the error pattern
errorMessage - the error message

setMandatory

public void setMandatory(boolean mandatory)
Set to true if this field is mandatory.

Parameters:
mandatory - true if mandatory

setWidth

public void setWidth(int noOfChars)
Set the number of chars that should be visible in the text field.

Parameters:
noOfChars - the number of chars

setMaxLength

public void setMaxLength(int maxLength)
Set the maximum numbers of characters that can be written in this field.

Parameters:
maxLength - the maximun number of characters

this_keyTyped

protected void this_keyTyped(java.awt.event.KeyEvent e)


Copyright © 1998-2005 dmonix.org Peter Nerg, All Rights Reserved.