javax.swing

Class JSpinner

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

TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, accessibleContext, listenerList, ui

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, extends EventListener> T[] getListeners, 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, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, 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, updateUI

Methods inherited from class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, extends EventListener> T[] getListeners, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponentZOrder, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree

Methods inherited from class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, extends EventListener> T[] getListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFocusable, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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).

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 Details

addChangeListener

public void addChangeListener(ChangeListener listener)
Adds a ChangeListener
Parameters:
listener - the listener to add

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!

createEditor

protected JComponent createEditor(SpinnerModel model)
Creates an editor that is appropriate for the specified model.
Parameters:
model - the model.
Returns:
The editor.

fireStateChanged

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

getChangeListeners

public ChangeListener[] getChangeListeners()
Gets all the ChangeListeners
Returns:
all the ChangeListeners

getEditor

public JComponent getEditor()
Gets the current editor
Returns:
the current editor

getModel

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

getNextValue

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

getPreviousValue

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

getUI

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

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 interface JComponent
Returns:
"SpinnerUI".

getValue

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

removeChangeListener

public void removeChangeListener(ChangeListener listener)
Remove a particular listener
Parameters:
listener - the listener to remove

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()

setModel

public void setModel(SpinnerModel newModel)
Sets a new underlying model.
Parameters:
newModel - the new model to set
Throws:
IllegalArgumentException - if newModel is null

setUI

public void setUI(SpinnerUI ui)
Sets the UI delegate for the component.
Parameters:
ui - The spinner's UI delegate.

setValue

public void setValue(Object value)
Sets the value in the model.
Parameters:
value - the new value.

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 interface JComponent

JSpinner.java -- Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.