bill.util.gui
Class JTextFieldEnterFilter

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
                          |
                          +--javax.swing.JTextField
                                |
                                +--bill.util.gui.JTextFieldMaxChars
                                      |
                                      +--bill.util.gui.JTextFieldEnter
                                            |
                                            +--bill.util.gui.JTextFieldEnterFilter
All Implemented Interfaces:
Accessible, ImageObserver, JTextFieldFilterInterface, MenuContainer, Scrollable, Serializable, SwingConstants

public class JTextFieldEnterFilter
extends JTextFieldEnter
implements JTextFieldFilterInterface

This is special implementation of the JTextFieldEnter class that filters out invalid characters from the user's input. It works for typed (single character) input and clipboard (possibly multi character) input.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
 
Inner classes inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.KeyBinding
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Field Summary
static String ALPHA_NUMERIC
          Limits character input to the characters a through z, A through Z, and 0 through 9
static String CHARACTER
          Limits character input to the characters a through z and A through Z
static String LOWER_CASE
          Limits character input to the characters a through z
static String NUMERIC
          Limits character input to the characters 0 through 9
static String UPPER_CASE
          Limits character input to the characters A through Z
 
Fields inherited from class bill.util.gui.JTextFieldMaxChars
_maxChars, _shiftFocusWhenFull
 
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.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, 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
JTextFieldEnterFilter()
          Constructs a new JTextFieldEnterFilter.
JTextFieldEnterFilter(int columns)
          Constructs a new empty TextFieldEnterFilter with the specified number of columns.
JTextFieldEnterFilter(String text)
          Constructs a new TextFieldEnterFilter initialized with the specified text.
JTextFieldEnterFilter(String text, int columns)
          Constructs a new JTextFieldEnterFilter initialized with the specified text and columns.
 
Method Summary
protected  Document createDefaultModel()
          We override the regular createDefaultModel in order to enforce the use of our special filtering document model.
 String getFilter()
          Retrieves the currently specified filter string.
protected  JTextFieldMaxCharsDocument getJTextFieldDocument()
          Retrieves the special document associated with this text field.
 boolean isInclude()
          Retrieves the include mode for this instance.
 void setFilter(String filter)
          Sets the input character filter string to the specified value.
 void setInclude(boolean include)
          Sets the include mode of the filter.
 
Methods inherited from class bill.util.gui.JTextFieldMaxChars
getMaxChars, isShiftFocusWhenFull, setMaxChars, setShiftFocusWhenFull
 
Methods inherited from class javax.swing.JTextField
addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, fireActionPerformed, getAccessibleContext, getAction, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretPosition, getDisabledTextColor, getDocument, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getUI, isEditable, isFocusTraversable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NUMERIC

public static String NUMERIC
Limits character input to the characters 0 through 9

UPPER_CASE

public static String UPPER_CASE
Limits character input to the characters A through Z

LOWER_CASE

public static String LOWER_CASE
Limits character input to the characters a through z

CHARACTER

public static String CHARACTER
Limits character input to the characters a through z and A through Z

ALPHA_NUMERIC

public static String ALPHA_NUMERIC
Limits character input to the characters a through z, A through Z, and 0 through 9
Constructor Detail

JTextFieldEnterFilter

public JTextFieldEnterFilter()
Constructs a new JTextFieldEnterFilter. A default model is created, the initial string is null, and the number of columns is set to 0.

JTextFieldEnterFilter

public JTextFieldEnterFilter(int columns)
Constructs a new empty TextFieldEnterFilter with the specified number of columns. A default model is created and the initial string is set to null.
Parameters:
columns - the number of columns to use to calculate the preferred width. If columns is set to zero, the preferred width will be whatever naturally results from the component implementation.

JTextFieldEnterFilter

public JTextFieldEnterFilter(String text)
Constructs a new TextFieldEnterFilter initialized with the specified text. A default model is created and the number of columns is 0.
Parameters:
text - The text to be displayed, or null.

JTextFieldEnterFilter

public JTextFieldEnterFilter(String text,
                             int columns)
Constructs a new JTextFieldEnterFilter initialized with the specified text and columns. A default model is created.
Parameters:
text - The text to be displayed, or null.
columns - the number of columns to use to calculate the preferred width. If columns is set to zero, the preferred width will be whatever naturally results from the component implementation.
Method Detail

setFilter

public void setFilter(String filter)
Sets the input character filter string to the specified value. All characters entered in the text field that are not in this filter string are discarded.
Specified by:
setFilter in interface JTextFieldFilterInterface
Parameters:
filter - The filter string.

getFilter

public String getFilter()
Retrieves the currently specified filter string.
Specified by:
getFilter in interface JTextFieldFilterInterface
Returns:
The filter string, or null if none has been specified.

setInclude

public void setInclude(boolean include)
Sets the include mode of the filter. If the include mode is true then characters entered that are in the filter string are kept and others are dropped, if false then vice versa.
Specified by:
setInclude in interface JTextFieldFilterInterface
Parameters:
include - Value to set include mode to.

isInclude

public boolean isInclude()
Retrieves the include mode for this instance.
Specified by:
isInclude in interface JTextFieldFilterInterface
Returns:
true if we are using include mode, false if we are using exclude mode.

getJTextFieldDocument

protected JTextFieldMaxCharsDocument getJTextFieldDocument()
Retrieves the special document associated with this text field.
Overrides:
getJTextFieldDocument in class JTextFieldMaxChars
Returns:
The associated document.

createDefaultModel

protected Document createDefaultModel()
We override the regular createDefaultModel in order to enforce the use of our special filtering document model.
Overrides:
createDefaultModel in class JTextFieldMaxChars
Returns:
A new filtering document model.