javax.swing
Class JSpinner

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JSpinner
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class JSpinner
extends JComponent

A JSpinner is a component that displays a single value from a sequence of values, and provides a convenient means for selecting the previous and next values in the sequence. Typically the spinner displays a numeric value, but it is possible to display dates or arbitrary items from a list.

Since:
1.4
See Also:
Serialized Form

Nested Class Summary
static class JSpinner.DateEditor
          An editor class for a JSpinner that is used for displaying and editing dates (e.g. that uses SpinnerDateModel as model).
static class JSpinner.DefaultEditor
          The base class for the editor used by the JSpinner component.
static class JSpinner.ListEditor
          A JSpinner editor used for the SpinnerListModel.
static class JSpinner.NumberEditor
          A panel containing a JFormattedTextField that is configured for displaying and editing numbers.
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JSpinner()
          Creates a new JSpinner with default instance of SpinnerNumberModel (that is, a model with value 0, step size 1, and no upper or lower limit).
JSpinner(SpinnerModel model)
          Creates a new JSpinner with the specified model.
 
Method Summary
 void addChangeListener(ChangeListener listener)
          Adds a ChangeListener
 void commitEdit()
          If the editor is JSpinner.DefaultEditor, then forwards the call to it, otherwise do nothing.
protected  JComponent createEditor(SpinnerModel model)
          Creates an editor that is appropriate for the specified model.
protected  void fireStateChanged()
          Fires a ChangeEvent to all the ChangeListeners added to this JSpinner
 ChangeListener[] getChangeListeners()
          Gets all the ChangeListeners
 JComponent getEditor()
          Gets the current editor
 SpinnerModel getModel()
          Returns the model used by the JSpinner component.
 Object getNextValue()
          Gets the next value without changing the current value.
 Object getPreviousValue()
          Gets the previous value without changing the current value.
 SpinnerUI getUI()
          Gets the SpinnerUI that handles this spinner
 String getUIClassID()
          Returns the ID that identifies which look and feel class will be the UI delegate for this spinner.
 Object getValue()
          Gets the current value of the spinner, according to the underly model, not the UI.
 void removeChangeListener(ChangeListener listener)
          Remove a particular listener
 void setEditor(JComponent editor)
          Changes the current editor to the new editor.
 void setModel(SpinnerModel newModel)
          Sets a new underlying model.
 void setUI(SpinnerUI ui)
          Sets the UI delegate for the component.
 void setValue(Object value)
          Sets the value in the model.
 void updateUI()
          This method resets the spinner's UI delegate to the default UI for the current look and feel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, 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, setEnabled, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, 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, setFocusTraversalKeys, 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, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, 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, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JSpinner

public JSpinner()
Creates a new JSpinner with default instance of SpinnerNumberModel (that is, a model with value 0, step size 1, and no upper or lower limit).

See Also:
SpinnerNumberModel

JSpinner

public JSpinner(SpinnerModel model)
Creates a new JSpinner with the specified model. The createEditor(SpinnerModel) method is used to create an editor that is suitable for the model.

Parameters:
model - the model (null not permitted).
Throws:
NullPointerException - if model is null.
Method Detail

commitEdit

public void commitEdit()
                throws ParseException
If the editor is JSpinner.DefaultEditor, then forwards the call to it, otherwise do nothing.

Throws:
ParseException - DOCUMENT ME!

getEditor

public JComponent getEditor()
Gets the current editor

Returns:
the current editor
See Also:
setEditor(javax.swing.JComponent)

setEditor

public void setEditor(JComponent editor)
Changes the current editor to the new editor. The old editor is removed from the spinner's ChangeEvent list.

Parameters:
editor - the new editor (null not permitted.
Throws:
IllegalArgumentException - if editor is null.
See Also:
getEditor()

getModel

public SpinnerModel getModel()
Returns the model used by the JSpinner component.

Returns:
The model.
See Also:
setModel(SpinnerModel)

setModel

public void setModel(SpinnerModel newModel)
Sets a new underlying model.

Parameters:
newModel - the new model to set
Throws:
IllegalArgumentException - if newModel is null

getNextValue

public Object getNextValue()
Gets the next value without changing the current value.

Returns:
the next value
See Also:
SpinnerModel.getNextValue()

getPreviousValue

public Object getPreviousValue()
Gets the previous value without changing the current value.

Returns:
the previous value
See Also:
SpinnerModel.getPreviousValue()

getUI

public SpinnerUI getUI()
Gets the SpinnerUI that handles this spinner

Returns:
the SpinnerUI

getValue

public Object getValue()
Gets the current value of the spinner, according to the underly model, not the UI.

Returns:
the current value
See Also:
SpinnerModel.getValue()

setValue

public void setValue(Object value)
Sets the value in the model.

Parameters:
value - the new value.

getUIClassID

public String getUIClassID()
Returns the ID that identifies which look and feel class will be the UI delegate for this spinner.

Overrides:
getUIClassID in class JComponent
Returns:
"SpinnerUI".
See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

updateUI

public void updateUI()
This method resets the spinner's UI delegate to the default UI for the current look and feel.

Overrides:
updateUI in class JComponent

setUI

public void setUI(SpinnerUI ui)
Sets the UI delegate for the component.

Parameters:
ui - The spinner's UI delegate.

addChangeListener

public void addChangeListener(ChangeListener listener)
Adds a ChangeListener

Parameters:
listener - the listener to add

removeChangeListener

public void removeChangeListener(ChangeListener listener)
Remove a particular listener

Parameters:
listener - the listener to remove

getChangeListeners

public ChangeListener[] getChangeListeners()
Gets all the ChangeListeners

Returns:
all the ChangeListeners

fireStateChanged

protected void fireStateChanged()
Fires a ChangeEvent to all the ChangeListeners added to this JSpinner


createEditor

protected JComponent createEditor(SpinnerModel model)
Creates an editor that is appropriate for the specified model.

Parameters:
model - the model.
Returns:
The editor.