kiwi.ui
Class NumericField

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 bykiwi.ui.DataField
                          extended bykiwi.ui.NumericField
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.SwingConstants

public class NumericField
extends DataField

A subclass of DataField for the input and display of specialized data values, such as currency amounts, percentages, and decimal values.


An example NumericField.

Author:
Mark Lindner, PING Software Group
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class kiwi.ui.DataField
 
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
private  int decimals
           
private  boolean grouping
           
private  boolean hasMaxValue
           
private  boolean hasMinValue
           
private static LocaleManager lm
           
private  double maxValue
           
private  double minValue
           
private  int type
           
private  double value
           
 
Fields inherited from class kiwi.ui.DataField
invalid
 
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
NumericField(int width)
          Construct a new NumericField of the specified width and a default type of DECIMAL_FORMAT.
NumericField(int width, int type)
          Construct a new NumericField of the specified width, for the specified value type.
 
Method Summary
protected  boolean checkInput()
          Validate the input in this field.
 void clearMaxValue()
          Clear the maximum value constraint.
 void clearMinValue()
          Clear the minimum value constraint.
 int getDecimals()
          Get the number of decimals being displayed to the right of the radix.
 boolean getGrouping()
          Get the grouping mode for this numeric field.
 int getType()
          Get the validation type for this field.
 double getValue()
          Get the value from the field.
 void setDecimals(int decimals)
          Set the number of decimals to display to the right of the radix.
 void setGrouping(boolean grouping)
          Set the grouping mode for this numeric field.
 void setMaxValue(double value)
          Set a maximum value constraint.
 void setMaxValue(int value)
          Set a maximum value constraint.
 void setMinValue(double value)
          Set a minimum value constraint.
 void setMinValue(int value)
          Set a minimum value constraint.
 void setType(int type)
          Set the validation type for this field.
 void setValue(double value)
          Set the numeric value to be displayed by this field.
 void setValue(float value)
          Set the numeric value to be displayed by this field.
 void setValue(int value)
          Set the numeric value to be displayed by this field.
 void setValue(long value)
          Set the numeric value to be displayed by this field.
 void setValue(short value)
          Set the numeric value to be displayed by this field.
 
Methods inherited from class kiwi.ui.DataField
addChangeListener, getMaximumLength, isInputRequired, paintInvalid, removeChangeListener, setDocument, setEditable, setInputRequired, setMaximumLength, setText, validateInput
 
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, 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, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, 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

lm

private static LocaleManager lm

type

private int type

decimals

private int decimals

value

private double value

maxValue

private double maxValue

minValue

private double minValue

hasMaxValue

private boolean hasMaxValue

hasMinValue

private boolean hasMinValue

grouping

private boolean grouping
Constructor Detail

NumericField

public NumericField(int width)
Construct a new NumericField of the specified width and a default type of DECIMAL_FORMAT.

Parameters:
width - The width of the field.

NumericField

public NumericField(int width,
                    int type)
Construct a new NumericField of the specified width, for the specified value type.

Parameters:
width - The width of the field.
type - A validation type; one of the format constants defined in the FormatConstants class.
See Also:
kiwi.text.FormatConstants
Method Detail

setValue

public void setValue(double value)
Set the numeric value to be displayed by this field. The value is formatted as a string, according to the rules of the current locale, and displayed in the field. Invalid input flagging is automatically turned off.

Parameters:
value - The value.

setValue

public void setValue(float value)
Set the numeric value to be displayed by this field.

Parameters:
value - The value. This value is cast internally to a double.

setValue

public void setValue(int value)
Set the numeric value to be displayed by this field.

Parameters:
value - The value. This value is cast internally to a double.

setValue

public void setValue(long value)
Set the numeric value to be displayed by this field.

Parameters:
value - The value. This value is cast internally to a double.

setValue

public void setValue(short value)
Set the numeric value to be displayed by this field.

Parameters:
value - The value. This value is cast internally to a double.

setType

public void setType(int type)
Set the validation type for this field.

Parameters:
type - A validation type; one of the format constants defined in the FormatConstants class.
See Also:
kiwi.text.FormatConstants

getType

public int getType()
Get the validation type for this field.

Returns:
The validation type.

getValue

public double getValue()
Get the value from the field. The value returned is the value that was parsed by the last call to validateInput().

Returns:
The parsed value, or 0.0 if the last call to validateInput() resulted in a parsing error, or if there was no previous call to validateInput().
See Also:
DataField.validateInput()

checkInput

protected boolean checkInput()
Validate the input in this field.

Overrides:
checkInput in class DataField
Returns:
true if the field contains valid input, and false otherwise.

setDecimals

public void setDecimals(int decimals)
Set the number of decimals to display to the right of the radix. The default is 2.

Parameters:
decimals - The new decimal count.

getDecimals

public int getDecimals()
Get the number of decimals being displayed to the right of the radix.

Returns:
The decimal count.

setMaxValue

public void setMaxValue(double value)
Set a maximum value constraint. If a value is entered that is greater than the maximum value, the input will not validate.

Parameters:
value - The new maximum value.

setMaxValue

public void setMaxValue(int value)
Set a maximum value constraint. If a value is entered that is greater than the maximum value, the input will not validate.

Parameters:
value - The new maximum value.
Since:
Kiwi 1.3

clearMaxValue

public void clearMaxValue()
Clear the maximum value constraint.


setMinValue

public void setMinValue(double value)
Set a minimum value constraint. If a value is entered that is less than the minimum value, the input will not validate.

Parameters:
value - The new minimum value.

setMinValue

public void setMinValue(int value)
Set a minimum value constraint. If a value is entered that is less than the minimum value, the input will not validate.

Parameters:
value - The new minimum value.
Since:
Kiwi 1.3

clearMinValue

public void clearMinValue()
Clear the minimum value constraint.


setGrouping

public void setGrouping(boolean grouping)
Set the grouping mode for this numeric field. If grouping is turned off, values will be formatted without grouping characters separating the thousands. The default mode is on.

Parameters:
grouping - A flag specifying whether grouping should be on (true) or off (false).

getGrouping

public boolean getGrouping()
Get the grouping mode for this numeric field.

Returns:
The current grouping mode.