chrriis.dj.swingsuite
Class JNumberEntryField<T extends Number & Comparable<T>>

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 chrriis.dj.swingsuite.JTextEntryField
                          extended by chrriis.dj.swingsuite.JNumberEntryField<T>
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable, SwingConstants

public class JNumberEntryField<T extends Number & Comparable<T>>
extends JTextEntryField

An entry field for number types (Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal).

Author:
Christopher Deckers
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
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.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
JNumberEntryField(T number)
          Construct a number entry field.
JNumberEntryField(T number, int columns)
          Construct a number entry field.
JNumberEntryField(T number, int columns, int decimalCount)
          Construct a number entry field.
JNumberEntryField(T number, int columns, int decimalCount, T rangeMin, T rangeMax)
          Construct a number entry field.
JNumberEntryField(T number, int columns, int decimalCount, T rangeMin, T rangeMax, boolean isNullAllowed)
          Construct a number entry field.
JNumberEntryField(T number, int columns, T rangeMin, T rangeMax)
          Construct a number entry field.
JNumberEntryField(T number, int columns, T rangeMin, T rangeMax, boolean isNullAllowed)
          Construct a number entry field.
JNumberEntryField(T number, T rangeMin, T rangeMax)
          Construct a number entry field.
JNumberEntryField(T number, T rangeMin, T rangeMax, boolean isNullAllowed)
          Construct a number entry field.
 
Method Summary
 int getDecimalCount()
          Get the number of decimals.
 T getNumber()
          Get a valid number, which is the current number if it is valid or the last valid one.
 boolean isNullAllowed()
           
 void replaceSelection(String content)
           
 void setDecimalCount(int decimalCount)
          Set the number of decimals, which has an effect only if the number type accepts decimals.
 void setNullAllowed(boolean isNullAllowed)
          Set whether this range accepts null.
 void setNumber(T number)
          Set some number, which only works when the number to set is valid.
 void setRange(T rangeMin, T rangeMax)
          Set the range of this field.
 void setValidator(TextEntryValidator validator)
          Set the text validator.
 
Methods inherited from class chrriis.dj.swingsuite.JTextEntryField
addTextEntryFieldListener, getDisplayFormatter, getMaximumLength, getTextEntryFieldListeners, getValidator, getValidText, isFocusTrappedOnInvalidText, isSelectingAllOnFocus, isTipDisplayedOnError, removeTextEntryFieldListener, revalidateText, selectAll, setDocument, setFocusTrappedOnInvalidText, setFormatter, setMaximumLength, setSelectAllOnFocus, setText, setTipDisplayedOnError, updateUI
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, 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, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, select, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, 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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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
 

Constructor Detail

JNumberEntryField

public JNumberEntryField(T number)
Construct a number entry field.

Parameters:
number - the default number.

JNumberEntryField

public JNumberEntryField(T number,
                         T rangeMin,
                         T rangeMax)
Construct a number entry field.

Parameters:
number - the default number.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.

JNumberEntryField

public JNumberEntryField(T number,
                         T rangeMin,
                         T rangeMax,
                         boolean isNullAllowed)
Construct a number entry field.

Parameters:
number - the default number.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.
isNullAllowed - true if null is allowed, false otherwise.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns,
                         int decimalCount)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.
decimalCount - the number of decimals allowed.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns,
                         T rangeMin,
                         T rangeMax)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns,
                         T rangeMin,
                         T rangeMax,
                         boolean isNullAllowed)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.
isNullAllowed - true if null is allowed, false otherwise.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns,
                         int decimalCount,
                         T rangeMin,
                         T rangeMax)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.
decimalCount - the number of decimals allowed.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.

JNumberEntryField

public JNumberEntryField(T number,
                         int columns,
                         int decimalCount,
                         T rangeMin,
                         T rangeMax,
                         boolean isNullAllowed)
Construct a number entry field.

Parameters:
number - the default number.
columns - The number of columns used to calculate the preferred width, or zero for the default size calculation.
decimalCount - the number of decimals allowed.
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.
isNullAllowed - true if null is allowed, false otherwise.
Method Detail

replaceSelection

public void replaceSelection(String content)
Overrides:
replaceSelection in class JTextComponent

setValidator

public void setValidator(TextEntryValidator validator)
Set the text validator.

Overrides:
setValidator in class JTextEntryField
Parameters:
validator - The new number validator, or null to install the default number validator.

setRange

public void setRange(T rangeMin,
                     T rangeMax)
Set the range of this field.

Parameters:
rangeMin - the minimum number authorized by the range.
rangeMax - the maximum number authorized by the range.

setNullAllowed

public void setNullAllowed(boolean isNullAllowed)
Set whether this range accepts null.

Parameters:
isNullAllowed - true if null is allowed, false otherwise.

isNullAllowed

public boolean isNullAllowed()

setDecimalCount

public void setDecimalCount(int decimalCount)
Set the number of decimals, which has an effect only if the number type accepts decimals.

Parameters:
decimalCount - the number of decimals allowed, or a negative value to remove any limitation.

getDecimalCount

public int getDecimalCount()
Get the number of decimals.

Returns:
the number of decimals, or a negative value if it is not set.

getNumber

public T getNumber()
Get a valid number, which is the current number if it is valid or the last valid one.

Returns:
a valid number.

setNumber

public void setNumber(T number)
Set some number, which only works when the number to set is valid.

Parameters:
number - The number to set.