org.openswing.swing.client
Class NumericControl

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.openswing.swing.client.BaseInputControl
                      extended byorg.openswing.swing.client.NumericControl
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, InputControl, java.awt.MenuContainer, java.io.Serializable

public class NumericControl
extends BaseInputControl
implements InputControl

Title: OpenSwing Framework

Description: Numeric input control.

Copyright: Copyright (C) 2006 Mauro Carniel

This file is part of OpenSwing Framework. This library is free software; you can redistribute it and/or modify it under the terms of the (LGPL) Lesser General Public License as published by the Free Software Foundation; GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author may be contacted at: maurocarniel@tin.it

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NumericControl()
          Constructor.
NumericControl(int columns)
          Constructor.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener listener)
          Adds the specified action listener to receive action events from this textfield.
 void addFocusListener(java.awt.event.FocusListener listener)
          Adds the specified focus listener to receive focus events from this component when this component gains input focus.
 void addKeyListener(java.awt.event.KeyListener listener)
          Adds the specified key listener to receive action events from this field.
 java.math.BigDecimal getBigDecimal()
           
 javax.swing.JComponent getBindingComponent()
           
 int getColumns()
           
 int getDecimals()
           
 java.lang.Double getDouble()
           
 int getMaxCharacters()
           
 double getMaxValue()
           
 double getMinValue()
           
 java.lang.String getText()
           
 java.lang.Object getValue()
           
 boolean isEnabled()
           
 boolean isGrouping()
           
 boolean isHideZeroDigits()
           
 void processKeyEvent(java.awt.event.KeyEvent e)
           
 void removeActionListener(java.awt.event.ActionListener listener)
          Removes the specified action listener so that it no longer receives action events from this field.
 void removeFocusListener(java.awt.event.FocusListener listener)
          Removes the specified focus listener so that it no longer receives focus events from this component.
 void removeKeyListener(java.awt.event.KeyListener listener)
          Removes the specified key listener so that it no longer receives action events from this field.
 void select(int selectionStart, int selectionEnd)
          Selects the text between the specified start and end positions.
 void setColumns(int columns)
          Set input control visible characters.
 void setDecimals(int decimals)
          Set maximum number of decimals.
 void setEnabled(boolean enabled)
          Replace enabled setting with editable setting (this allow tab swithing).
 void setGrouping(boolean grouping)
          Set thousands symbol visibility.
 void setHideZeroDigits(boolean hideZeroDigits)
          Define whether zero digits (after decimal point) must be hided/showed; default value: false i.e. show zero digits.
 void setMaxCharacters(int maxCharacters)
          Set maximum number of characters.
 void setMaxValue(double maxValue)
          Set maximum value.
 void setMinValue(double minValue)
          Set minimum value.
 void setText(java.lang.String text)
          Method that overrides the super class setText method.
 void setValue(java.lang.Object value)
          Set value to the input control.
 
Methods inherited from class org.openswing.swing.client.BaseInputControl
addValueChangedListener, getAttributeName, getFont, getLinkLabel, getTextAlignment, getToolTipText, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, requestFocus, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setFont, setLinkLabel, setRequired, setTextAlignment, setToolTipText
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, 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, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, remove, removeComponentListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openswing.swing.client.InputControl
addValueChangedListener, getAttributeName, getLinkLabel, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setLinkLabel
 

Constructor Detail

NumericControl

public NumericControl()
Constructor.


NumericControl

public NumericControl(int columns)
Constructor.

Parameters:
columns - number of visibile characters
Method Detail

getBindingComponent

public javax.swing.JComponent getBindingComponent()
Overrides:
getBindingComponent in class BaseInputControl
Returns:
component inside this whose contains the value

getBigDecimal

public final java.math.BigDecimal getBigDecimal()
Returns:
BigDecimal value

getDouble

public final java.lang.Double getDouble()
Returns:
Double value

getValue

public final java.lang.Object getValue()
Specified by:
getValue in interface InputControl
Overrides:
getValue in class BaseInputControl
Returns:
BigDecimal value

getText

public final java.lang.String getText()
Returns:
numeric value (without any currency symbol)

setMaxCharacters

public void setMaxCharacters(int maxCharacters)
Set maximum number of characters.

Parameters:
maxCharacters - maximum number of characters

getDecimals

public int getDecimals()
Returns:
maximum number of decimals

setDecimals

public void setDecimals(int decimals)
Set maximum number of decimals.

Parameters:
decimals - maximum number of decimals

getMaxValue

public double getMaxValue()
Returns:
maximum value

setMaxValue

public void setMaxValue(double maxValue)
Set maximum value.

Parameters:
maxValue - maximum value

getMinValue

public double getMinValue()
Returns:
minimum value

setMinValue

public void setMinValue(double minValue)
Set minimum value.

Parameters:
minValue - minimum value

getMaxCharacters

public int getMaxCharacters()
Returns:
maximum number of digits

setGrouping

public final void setGrouping(boolean grouping)
Set thousands symbol visibility.

Parameters:
grouping - thousands symbol visibility

isGrouping

public final boolean isGrouping()
Returns:
boolean thousands symbol visibility

setText

public final void setText(java.lang.String text)
Method that overrides the super class setText method.

Parameters:
text - number to set

setValue

public final void setValue(java.lang.Object value)
Description copied from interface: InputControl
Set value to the input control.

Specified by:
setValue in interface InputControl
Overrides:
setValue in class BaseInputControl
Parameters:
value - number to set

isHideZeroDigits

public final boolean isHideZeroDigits()
Returns:
flag used to define whether zero digits (after decimal point) must be hided/showed

setHideZeroDigits

public final void setHideZeroDigits(boolean hideZeroDigits)
Define whether zero digits (after decimal point) must be hided/showed; default value: false i.e. show zero digits.

Parameters:
hideZeroDigits - flag used to define whether zero digits (after decimal point) must be hided/showed

setEnabled

public void setEnabled(boolean enabled)
Replace enabled setting with editable setting (this allow tab swithing).

Specified by:
setEnabled in interface InputControl
Overrides:
setEnabled in class BaseInputControl
Parameters:
enabled - flag used to set abilitation of control

isEnabled

public final boolean isEnabled()
Specified by:
isEnabled in interface InputControl
Overrides:
isEnabled in class BaseInputControl
Returns:
current input control abilitation

setColumns

public final void setColumns(int columns)
Set input control visible characters.

Parameters:
columns - visible characters

getColumns

public final int getColumns()
Returns:
input control visibile characters

addFocusListener

public final void addFocusListener(java.awt.event.FocusListener listener)
Adds the specified focus listener to receive focus events from this component when this component gains input focus. If listener l is null, no exception is thrown and no action is performed.

Specified by:
addFocusListener in interface InputControl
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, removeFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

removeFocusListener

public final void removeFocusListener(java.awt.event.FocusListener listener)
Removes the specified focus listener so that it no longer receives focus events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener l is null, no exception is thrown and no action is performed.

Specified by:
removeFocusListener in interface InputControl
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, addFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

addActionListener

public final void addActionListener(java.awt.event.ActionListener listener)
Adds the specified action listener to receive action events from this textfield.


addKeyListener

public final void addKeyListener(java.awt.event.KeyListener listener)
Adds the specified key listener to receive action events from this field.


processKeyEvent

public void processKeyEvent(java.awt.event.KeyEvent e)

removeActionListener

public final void removeActionListener(java.awt.event.ActionListener listener)
Removes the specified action listener so that it no longer receives action events from this field.


removeKeyListener

public final void removeKeyListener(java.awt.event.KeyListener listener)
Removes the specified key listener so that it no longer receives action events from this field.


select

public final void select(int selectionStart,
                         int selectionEnd)
Selects the text between the specified start and end positions.

This method sets the start and end positions of the selected text, enforcing the restriction that the start position must be greater than or equal to zero. The end position must be greater than or equal to the start position, and less than or equal to the length of the text component's text.

If the caller supplies values that are inconsistent or out of bounds, the method enforces these constraints silently, and without failure. Specifically, if the start position or end position is greater than the length of the text, it is reset to equal the text length. If the start position is less than zero, it is reset to zero, and if the end position is less than the start position, it is reset to the start position.

This call is provided for backward compatibility. It is routed to a call to setCaretPosition followed by a call to moveCaretPosition. The preferred way to manage selection is by calling those methods directly.

Parameters:
selectionStart - the start position of the text
selectionEnd - the end position of the text
See Also:
#setCaretPosition, #moveCaretPosition