net.wotonomy.ui.swing.components
Class NumericTextField

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 net.wotonomy.ui.swing.components.SmartTextField
                          extended by net.wotonomy.ui.swing.components.NumericTextField
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

public class NumericTextField
extends SmartTextField

NumericTextField is a "smart" text field that restricts the user's input. The input is restructed to numeric only wich can be of two types: integer and real numbers. A range can also be placed on the text field. The default type is integer, with the being (Integer.MIN_VALUE, Integer.MAX_VALUE).

Version:
$Revision: 893 $
Author:
rob@straylight.princeton.com, $Author: cgruber $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, 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.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int FLOAT
          Restrict the text input to floating-point numbers only.
static int INTEGER
          Restrict the text input to integers (whole numbers) only.
 
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, 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
NumericTextField()
          Default constructor.
NumericTextField(int columns)
          Constructor.
NumericTextField(java.lang.String text)
          Constructor.
NumericTextField(java.lang.String text, int columns)
          Constructor.
 
Method Summary
 double getDoubleValue()
          Returns the real number numeric value of the string in the text field.
 int getIntValue()
          Returns the integer numeric value of the string in the text field.
 double getMaximumValue()
          Returns the upper limit of the range of numbers to accept.
 double getMinimumValue()
          Returns the lower limit of the range of numbers to accept.
 int getValueType()
          Returns which type of number this text field accepts.
protected  boolean isValidCharacter(char aChar)
          PROTECTED METHODS
protected  boolean isValidString(java.lang.String aString)
          Returns whether a string is valid for this text field.
protected  void postProcessing()
          This method is used by the any subclass that need to complete any processing of the text string in the text field after all the requirement checks have been performed.
 void setDoubleValue(double aValue)
          Sets the text field to the double value specified.
 void setIntValue(int aValue)
          Sets the text field to integer value specified.
 void setMaximumValue(double newMaximumValue)
          Sets the upper limit of the range of numbers to accept.
 void setMinimumValue(double newMinimumValue)
          Sets the lower limit of the range of numbers to accept.
 void setValueType(int newValueType)
          Sets which type of number this text field can accept.
 
Methods inherited from class net.wotonomy.ui.swing.components.SmartTextField
processKeyEvent
 
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, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, 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, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INTEGER

public static final int INTEGER
Restrict the text input to integers (whole numbers) only.

See Also:
Constant Field Values

FLOAT

public static final int FLOAT
Restrict the text input to floating-point numbers only.

See Also:
Constant Field Values
Constructor Detail

NumericTextField

public NumericTextField()
Default constructor.


NumericTextField

public NumericTextField(java.lang.String text)
Constructor.

Parameters:
text - The initial string the text field is set to.

NumericTextField

public NumericTextField(int columns)
Constructor.

Parameters:
columns - Width of the text field (in characters).

NumericTextField

public NumericTextField(java.lang.String text,
                        int columns)
Constructor.

Parameters:
text - The initial string the text field is set to.
columns - Width of the text field (in characters).
Method Detail

setMaximumValue

public void setMaximumValue(double newMaximumValue)
Sets the upper limit of the range of numbers to accept.

Parameters:
newMaximumValue - The maximum number accepted by the text field.

getMaximumValue

public double getMaximumValue()
Returns the upper limit of the range of numbers to accept.

Returns:
The maximum number accepted by this text field.

setMinimumValue

public void setMinimumValue(double newMinimumValue)
Sets the lower limit of the range of numbers to accept.

Parameters:
newMinimumValue - The minimum number accepted by the text field.

getMinimumValue

public double getMinimumValue()
Returns the lower limit of the range of numbers to accept.

Returns:
The minimum number accepted by this text field.

setValueType

public void setValueType(int newValueType)
Sets which type of number this text field can accept.

Parameters:
newValueType - The type of number to accept.
See Also:
INTEGER, FLOAT

getValueType

public int getValueType()
Returns which type of number this text field accepts. The default is integer.

Returns:
The type of number to accept.
See Also:
INTEGER, FLOAT

getIntValue

public int getIntValue()
Returns the integer numeric value of the string in the text field. The type can be either integer of float.

Returns:
The current value in the text field.

setIntValue

public void setIntValue(int aValue)
Sets the text field to integer value specified.

Parameters:
aValue - An integer value to display in the text field.

getDoubleValue

public double getDoubleValue()
Returns the real number numeric value of the string in the text field. The type can be either integer of float.

Returns:
The current value in the text field.

setDoubleValue

public void setDoubleValue(double aValue)
Sets the text field to the double value specified. If the text field type is FLOAT then the the number is display as a real number. If the text field type is INTEGER then the number is converted to a whole number for displaying.

Parameters:
aValue - A double value to display in the text field.

isValidCharacter

protected boolean isValidCharacter(char aChar)
PROTECTED METHODS

Specified by:
isValidCharacter in class SmartTextField
Parameters:
aChar - A character to perform the validity test with.
Returns:
True if the character is valid for this subclassed text field.
False is the character is not valid.

isValidString

protected boolean isValidString(java.lang.String aString)
Description copied from class: SmartTextField
Returns whether a string is valid for this text field. As the user types from the keyboard, this method is called to determine if the new string in the text field is valid based upon the restriction of the subclass. This is done after the character has been determined to be valid since there can be restrictions placed on the text string as a whole, such a maximum length or date format.

Specified by:
isValidString in class SmartTextField
Parameters:
aString - The string to perform the validity check with.
Returns:
True if the string is valid for this subclassed text field.
False if the character is not valud.

postProcessing

protected void postProcessing()
Description copied from class: SmartTextField
This method is used by the any subclass that need to complete any processing of the text string in the text field after all the requirement checks have been performed.

Specified by:
postProcessing in class SmartTextField


Copyright © 2006 null. All Rights Reserved.