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:
java.awt.event.ActionListener
,java.awt.event.FocusListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.CaretListener
,javax.swing.event.ChangeListener
- Direct Known Subclasses:
JYearChooser
public class JSpinField extends javax.swing.JPanel implements javax.swing.event.ChangeListener, javax.swing.event.CaretListener, java.awt.event.ActionListener, java.awt.event.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:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.Color
darkGreen
protected int
max
protected int
min
protected javax.swing.JSpinner
spinner
protected javax.swing.JTextField
textField
the text (number) fieldprotected int
value
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description JSpinField()
Default JSpinField constructor.JSpinField(int min, int max)
JSpinField constructor with given minimum and maximum vaues and initial value 0.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
After any user input, the value of the textfield is proofed.void
adjustWidthToMaximumValue()
void
caretUpdate(javax.swing.event.CaretEvent e)
After any user input, the value of the textfield is proofed.void
focusGained(java.awt.event.FocusEvent e)
void
focusLost(java.awt.event.FocusEvent e)
The value of the text field is checked against a valid (green) value.int
getMaximum()
Returns the maximum value.int
getMinimum()
Returns the minimum value.java.awt.Component
getSpinner()
Returns the year chooser's spinner (which allow the focus to be set to it).int
getValue()
Returns the value.static void
main(java.lang.String[] s)
Creates a JFrame with a JSpinField inside and can be used for testing.void
setEnabled(boolean enabled)
Enable or disable the JSpinField.void
setFont(java.awt.Font font)
Sets the font property.void
setForeground(java.awt.Color fg)
Sets the foregroundvoid
setHorizontalAlignment(int alignment)
Sets the horizontal alignment of the displayed value.void
setMaximum(int newMaximum)
Sets the maximum value and adjusts the preferred width.void
setMinimum(int newMinimum)
Sets the minimum value.void
setValue(int newValue)
Sets the value.protected void
setValue(int newValue, boolean updateTextField, boolean firePropertyChange)
Sets the value attribute of the JSpinField object.void
stateChanged(javax.swing.event.ChangeEvent e)
Is invoked when the spinner model changes-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
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, 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, 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, transferFocusDownCycle, validate, validateTree
-
Methods 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
-
-
-
-
Constructor Detail
-
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 Detail
-
adjustWidthToMaximumValue
public void adjustWidthToMaximumValue()
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
Is invoked when the spinner model changes- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
- 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()
-
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()
-
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:
getMaximum()
-
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
public void setFont(java.awt.Font font)
Sets the font property.- Overrides:
setFont
in classjavax.swing.JComponent
- Parameters:
font
- the new font
-
setForeground
public void setForeground(java.awt.Color fg)
Sets the foreground- Overrides:
setForeground
in classjavax.swing.JComponent
- Parameters:
fg
- the foreground
-
caretUpdate
public void caretUpdate(javax.swing.event.CaretEvent e)
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:
caretUpdate
in interfacejavax.swing.event.CaretListener
- Parameters:
e
- the caret event
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
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:
actionPerformed
in interfacejava.awt.event.ActionListener
- Parameters:
e
- Description of the Parameter
-
setEnabled
public void setEnabled(boolean enabled)
Enable or disable the JSpinField.- Overrides:
setEnabled
in classjavax.swing.JComponent
- Parameters:
enabled
- The new enabled value
-
getSpinner
public java.awt.Component 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
public static void main(java.lang.String[] s)
Creates a JFrame with a JSpinField inside and can be used for testing.- Parameters:
s
- The command line arguments
-
focusGained
public void focusGained(java.awt.event.FocusEvent e)
- Specified by:
focusGained
in interfacejava.awt.event.FocusListener
-
focusLost
public void focusLost(java.awt.event.FocusEvent e)
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:
focusLost
in interfacejava.awt.event.FocusListener
-
-