Package com.toedter.components
Class JSpinField
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.toedter.components.JSpinField
- All Implemented Interfaces:
ActionListener,FocusListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,CaretListener,ChangeListener
- Direct Known Subclasses:
JYearChooser
public class JSpinField
extends JPanel
implements ChangeListener, CaretListener, ActionListener, FocusListener
JSpinField is a numeric field with 2 spin buttons to increase or decrease the
value. It has the same interface as the "old" JSpinField but uses a JSpinner
internally (since J2SE SDK 1.4) rather than a scrollbar for emulating the
spin buttons.
- Version:
- $LastChangedRevision: 85 $, $LastChangedDate: 2006-04-28 13:50:52 +0200 (Fr, 28 Apr 2006) $
- Author:
- Kai Toedter
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Colorprotected intprotected intprotected JSpinnerprotected JTextFieldthe text (number) fieldprotected intFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionDefault JSpinField constructor.JSpinField(int min, int max) JSpinField constructor with given minimum and maximum vaues and initial value 0. -
Method Summary
Modifier and TypeMethodDescriptionvoidAfter any user input, the value of the textfield is proofed.voidvoidAfter any user input, the value of the textfield is proofed.voidvoidThe value of the text field is checked against a valid (green) value.intReturns the maximum value.intReturns the minimum value.Returns the year chooser's spinner (which allow the focus to be set to it).intgetValue()Returns the value.static voidCreates a JFrame with a JSpinField inside and can be used for testing.voidsetEnabled(boolean enabled) Enable or disable the JSpinField.voidSets the font property.voidsetForeground(Color fg) Sets the foregroundvoidsetHorizontalAlignment(int alignment) Sets the horizontal alignment of the displayed value.voidsetMaximum(int newMaximum) Sets the maximum value and adjusts the preferred width.voidsetMinimum(int newMinimum) Sets the minimum value.voidsetValue(int newValue) Sets the value.protected voidsetValue(int newValue, boolean updateTextField, boolean firePropertyChange) Sets the value attribute of the JSpinField object.voidIs invoked when the spinner model changesMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods 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, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
spinner
-
textField
the text (number) field -
min
protected int min -
max
protected int max -
value
protected int value -
darkGreen
-
-
Constructor Details
-
JSpinField
public JSpinField()Default JSpinField constructor. The valid value range is between Integer.MIN_VALUE and Integer.MAX_VALUE. The initial value is 0. -
JSpinField
public JSpinField(int min, int max) JSpinField constructor with given minimum and maximum vaues and initial value 0.
-
-
Method Details
-
adjustWidthToMaximumValue
public void adjustWidthToMaximumValue() -
stateChanged
Is invoked when the spinner model changes- Specified by:
stateChangedin interfaceChangeListener- Parameters:
e- the ChangeEvent
-
setValue
protected void setValue(int newValue, boolean updateTextField, boolean firePropertyChange) Sets the value attribute of the JSpinField object.- Parameters:
newValue- The new valueupdateTextField- true if text field should be updated
-
setValue
public void setValue(int newValue) Sets the value. This is a bound property.- Parameters:
newValue- the new value- See Also:
-
getValue
public int getValue()Returns the value.- Returns:
- the value value
-
setMinimum
public void setMinimum(int newMinimum) Sets the minimum value.- Parameters:
newMinimum- the new minimum value- See Also:
-
getMinimum
public int getMinimum()Returns the minimum value.- Returns:
- the minimum value
-
setMaximum
public void setMaximum(int newMaximum) Sets the maximum value and adjusts the preferred width.- Parameters:
newMaximum- the new maximum value- See Also:
-
setHorizontalAlignment
public void setHorizontalAlignment(int alignment) Sets the horizontal alignment of the displayed value.- Parameters:
alignment- the horizontal alignment
-
getMaximum
public int getMaximum()Returns the maximum value.- Returns:
- the maximum value
-
setFont
Sets the font property.- Overrides:
setFontin classJComponent- Parameters:
font- the new font
-
setForeground
Sets the foreground- Overrides:
setForegroundin classJComponent- Parameters:
fg- the foreground
-
caretUpdate
After any user input, the value of the textfield is proofed. Depending on being an integer, the value is colored green or red.- Specified by:
caretUpdatein interfaceCaretListener- Parameters:
e- the caret event
-
actionPerformed
After any user input, the value of the textfield is proofed. Depending on being an integer, the value is colored green or red. If the textfield is green, the enter key is accepted and the new value is set.- Specified by:
actionPerformedin interfaceActionListener- Parameters:
e- Description of the Parameter
-
setEnabled
public void setEnabled(boolean enabled) Enable or disable the JSpinField.- Overrides:
setEnabledin classJComponent- Parameters:
enabled- The new enabled value
-
getSpinner
Returns the year chooser's spinner (which allow the focus to be set to it).- Returns:
- Component the spinner or null, if the month chooser has no spinner
-
main
Creates a JFrame with a JSpinField inside and can be used for testing.- Parameters:
s- The command line arguments
-
focusGained
- Specified by:
focusGainedin interfaceFocusListener
-
focusLost
The value of the text field is checked against a valid (green) value. If valid, the value is set and a property change is fired.- Specified by:
focusLostin interfaceFocusListener
-