magi.toolkit.fields
Class MagiNumericField

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
                          |
                          +--javax.swing.JTextField
                                |
                                +--magi.toolkit.fields.MagiTextField
                                      |
                                      +--magi.toolkit.fields.MagiNumericField
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:
MagiFloatField

public class MagiNumericField
extends MagiTextField

A Numeric text field component that masks user input to allow only numeric digit input.

Author:
Paul Atkinson, Magi Systems Pty Ltd.
See Also:
Serialized Form

Field Summary
 
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
MagiNumericField()
          Default constructor.
MagiNumericField(java.lang.String numericText)
          Create a Numeric text field, displaying the supplied text String.
MagiNumericField(java.lang.String numericText, int numChars)
          Create a Numeric text field, displaying the supplied text String.
MagiNumericField(java.lang.String numericText, int numChars, boolean formatted, boolean allowNegatives)
          Create a Numeric text field, displaying the supplied text String.
 
Method Summary
protected  void colorize()
          Colorize the text if a negative Color has been set.
 java.awt.Color getNegativeColor()
          Return the Color used to show negative values.
 java.lang.String getSpecialCharacters()
          Returns the current set of allowable special characters that are outside of the character range { 'a' ..
 boolean isAllowNegatives()
          Returns if this text field will allow negative values or not.
 boolean isFormatted()
          Returns if this text field is a formatted numeric.
protected  boolean isNumeric(char character)
          Returns true if the supplied character is Alphabetic.
 void setAllowNegatives(boolean allowNegatives)
          Determines if this text field will allow negative values or not.
 void setForeground(java.awt.Color foreground)
          Set the text foreground Color for this component.
 void setFormatted(boolean formatted)
          Sets this text field to formatted numeric.
 void setNegativeColor(java.awt.Color negativeColor)
          Sets the Color to use when showing negative values.
 void setSpecialCharacters(java.lang.String specialChars)
          Sets the allowable special characters that are outside of the character range { 'a' ..
 
Methods inherited from class magi.toolkit.fields.MagiTextField
setPreferredWidth
 
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, 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
 

Constructor Detail

MagiNumericField

public MagiNumericField()
Default constructor.


MagiNumericField

public MagiNumericField(java.lang.String numericText)
Create a Numeric text field, displaying the supplied text String.

Parameters:
numericText - the text to display in this field.

MagiNumericField

public MagiNumericField(java.lang.String numericText,
                        int numChars)
Create a Numeric text field, displaying the supplied text String.

Parameters:
numericText - the text to display in this field.
numChars - the number of characters to allow for field sizing.

MagiNumericField

public MagiNumericField(java.lang.String numericText,
                        int numChars,
                        boolean formatted,
                        boolean allowNegatives)
Create a Numeric text field, displaying the supplied text String.

Parameters:
numericText - the text to display in this field.
numChars - the number of characters to allow for field sizing.
formatted - true if the numeric should be formatted with commas.
allowNegatives - true if negative values are allowed.
Method Detail

setAllowNegatives

public void setAllowNegatives(boolean allowNegatives)
Determines if this text field will allow negative values or not.

Parameters:
allowNegatives -

isAllowNegatives

public boolean isAllowNegatives()
Returns if this text field will allow negative values or not.

Returns:
true if negatives are allowed.

setForeground

public void setForeground(java.awt.Color foreground)
Set the text foreground Color for this component. If a negative value Color has been set, this foreground Color becomes the positive value Color.

Overrides:
setForeground in class javax.swing.JComponent
Parameters:
foreground - the foreground Color to use.

setNegativeColor

public void setNegativeColor(java.awt.Color negativeColor)
Sets the Color to use when showing negative values.

Parameters:
negativeColor - the Color object to use.

getNegativeColor

public java.awt.Color getNegativeColor()
Return the Color used to show negative values.

Returns:

setFormatted

public void setFormatted(boolean formatted)
Sets this text field to formatted numeric. When true, numeric values will be formatted with commas.

Parameters:
formatted - true if numerics should be formatted.

isFormatted

public boolean isFormatted()
Returns if this text field is a formatted numeric.

Returns:
true if formatted.

setSpecialCharacters

public void setSpecialCharacters(java.lang.String specialChars)
Sets the allowable special characters that are outside of the character range { 'a' .. 'z', 'A' .. 'Z' }. For example, space would be a special character.

Parameters:
specialChars - a String containing all allowable special characters.

getSpecialCharacters

public java.lang.String getSpecialCharacters()
Returns the current set of allowable special characters that are outside of the character range { 'a' .. 'z', 'A' .. 'Z' }. For example, space would be a special character.

Returns:
a String containing all allowable special characters.

isNumeric

protected boolean isNumeric(char character)
Returns true if the supplied character is Alphabetic.

Parameters:
character - the char value to test.
Returns:
true if Numeric.

colorize

protected void colorize()
                 throws javax.swing.text.BadLocationException
Colorize the text if a negative Color has been set.

javax.swing.text.BadLocationException