gui
Class JAPJIntField

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 gui.JAPJIntField
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

public final class JAPJIntField
extends javax.swing.JTextField

This text field only accepts positive integers as input.

Author:
Rolf Wendolsky
See Also:
Serialized Form

Nested Class Summary
static class JAPJIntField.AbstractIntFieldBounds
           
private static class JAPJIntField.DefaultBounds
           
static interface JAPJIntField.IIntFieldBounds
          This interface represents bounds for the integer text field, this means what numbers (max/min) are allowed to enter.
private  class JAPJIntField.IntDocument
           
static class JAPJIntField.IntFieldUnlimitedZerosBounds
           
static class JAPJIntField.IntFieldWithoutZeroBounds
          This bound does not allow zeros.
 
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.DropLocation, 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int ALLOW_ZEROS_NONE
           
static int ALLOW_ZEROS_ONE
           
static int ALLOW_ZEROS_UNTIL_BOUND
           
private  boolean b_bAutoTransferFocus
           
private  JAPJIntField.IIntFieldBounds m_bounds
           
private static java.lang.String MSG_NO_VALID_INTEGER
           
static int NO_MAXIMUM_BOUND
          choose this value if the integer text field should have no upper bound
 
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
JAPJIntField()
          Creates a new JAPJIntField with no bounds.
JAPJIntField(int a_maxValue)
          Creates a new JAPJIntField.
JAPJIntField(int a_maxValue, boolean a_bAutoTransferFocus)
          Creates a new JAPJIntField.
JAPJIntField(JAPJIntField.IIntFieldBounds a_bounds)
          Creates a new JAPJIntField.
JAPJIntField(JAPJIntField.IIntFieldBounds a_bounds, boolean a_bAutoTransferFocus)
          Creates a new JAPJIntField.
 
Method Summary
protected  javax.swing.text.Document createDefaultModel()
           
 int getInt()
          Returns the integer stored in this text field.
private static int parseNumberOfDigits(int a_integer)
           
 void setInt(int a_integer)
          Sets the integer stored in this text field.
 void updateBounds()
          Updates the text field with the current bounds.
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, 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, 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, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, 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, 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
 

Field Detail

NO_MAXIMUM_BOUND

public static final int NO_MAXIMUM_BOUND
choose this value if the integer text field should have no upper bound

See Also:
Constant Field Values

ALLOW_ZEROS_NONE

public static final int ALLOW_ZEROS_NONE
See Also:
Constant Field Values

ALLOW_ZEROS_ONE

public static final int ALLOW_ZEROS_ONE
See Also:
Constant Field Values

ALLOW_ZEROS_UNTIL_BOUND

public static final int ALLOW_ZEROS_UNTIL_BOUND
See Also:
Constant Field Values

MSG_NO_VALID_INTEGER

private static final java.lang.String MSG_NO_VALID_INTEGER

m_bounds

private JAPJIntField.IIntFieldBounds m_bounds

b_bAutoTransferFocus

private boolean b_bAutoTransferFocus
Constructor Detail

JAPJIntField

public JAPJIntField()
Creates a new JAPJIntField with no bounds.


JAPJIntField

public JAPJIntField(int a_maxValue)
Creates a new JAPJIntField.

Parameters:
a_maxValue - the maximum int value that may be entered in the text field

JAPJIntField

public JAPJIntField(int a_maxValue,
                    boolean a_bAutoTransferFocus)
Creates a new JAPJIntField.

Parameters:
a_maxValue - the maximum int value that may be entered in the text field
a_bAutoTransferFocus - if the focus of the field should automatically be transfered if the maximum value would be exceeded with the next input

JAPJIntField

public JAPJIntField(JAPJIntField.IIntFieldBounds a_bounds)
Creates a new JAPJIntField.

Parameters:
a_bounds - the bounds (minimum/maximum value) for this integer text field

JAPJIntField

public JAPJIntField(JAPJIntField.IIntFieldBounds a_bounds,
                    boolean a_bAutoTransferFocus)
Creates a new JAPJIntField.

Parameters:
a_bounds - the bounds (minimum/maximum value) for this integer text field
a_bAutoTransferFocus - if the focus of the field should automatically be transfered if the maximum value would be exceeded with the next input
Method Detail

setInt

public void setInt(int a_integer)
Sets the integer stored in this text field.

Parameters:
a_integer - the integer stored in this text field

getInt

public int getInt()
           throws java.lang.NumberFormatException
Returns the integer stored in this text field.

Returns:
the integer stored in this text field
Throws:
java.lang.NumberFormatException - if there is no valid integer in the text field

updateBounds

public void updateBounds()
Updates the text field with the current bounds. If the number entered in the text field is not within the current bounds, it will be adapted to fit into the bounds (increase/decrease).


createDefaultModel

protected final javax.swing.text.Document createDefaultModel()
Overrides:
createDefaultModel in class javax.swing.JTextField

parseNumberOfDigits

private static int parseNumberOfDigits(int a_integer)