javax.swing
Class AbstractSpinnerModel

java.lang.Object
  extended byjavax.swing.AbstractSpinnerModel
All Implemented Interfaces:
SpinnerModel
Direct Known Subclasses:
SpinnerDateModel, SpinnerListModel, SpinnerNumberModel

public abstract class AbstractSpinnerModel
extends Object
implements SpinnerModel

This class provides the ChangeListener part of the SpinnerModel interface that should be suitable for most concrete SpinnerModel implementations. Subclasses must provide an implementation of the minimum, maximum, and value properties and the getNextValue and getPreviousValue methods.

Since:
1.4
Author:
Hans Muller
See Also:
JSpinner, SpinnerModel, SpinnerListModel, SpinnerNumberModel, SpinnerDateModel

Field Summary
private  ChangeEvent changeEvent
          Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property.
protected  EventListenerList listenerList
          The list of ChangeListeners for this model.
 
Constructor Summary
AbstractSpinnerModel()
           
 
Method Summary
 void addChangeListener(ChangeListener l)
          Adds a ChangeListener to the model's listener list.
protected  void fireStateChanged()
          Run each ChangeListeners stateChanged() method.
 ChangeListener[] getChangeListeners()
          Returns an array of all the ChangeListeners added to this AbstractSpinnerModel with addChangeListener().
 EventListener[] getListeners(Class listenerType)
          Return an array of all the listeners of the given type that were added to this model.
 void removeChangeListener(ChangeListener l)
          Removes a ChangeListener from the model's listener list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.SpinnerModel
getNextValue, getPreviousValue, getValue, setValue
 

Field Detail

changeEvent

private transient ChangeEvent changeEvent
Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property. The source of events generated here is always "this".


listenerList

protected EventListenerList listenerList
The list of ChangeListeners for this model. Subclasses may store their own listeners here.

Constructor Detail

AbstractSpinnerModel

public AbstractSpinnerModel()
Method Detail

addChangeListener

public void addChangeListener(ChangeListener l)
Adds a ChangeListener to the model's listener list. The ChangeListeners must be notified when the models value changes.

Specified by:
addChangeListener in interface SpinnerModel
Parameters:
l - the ChangeListener to add
See Also:
removeChangeListener(javax.swing.event.ChangeListener), SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

removeChangeListener

public void removeChangeListener(ChangeListener l)
Removes a ChangeListener from the model's listener list.

Specified by:
removeChangeListener in interface SpinnerModel
Parameters:
l - the ChangeListener to remove
See Also:
addChangeListener(javax.swing.event.ChangeListener), SpinnerModel.removeChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

public ChangeListener[] getChangeListeners()
Returns an array of all the ChangeListeners added to this AbstractSpinnerModel with addChangeListener().

Returns:
all of the ChangeListeners added or an empty array if no listeners have been added
Since:
1.4

fireStateChanged

protected void fireStateChanged()
Run each ChangeListeners stateChanged() method.

See Also:
SpinnerModel.setValue(java.lang.Object), EventListenerList

getListeners

public EventListener[] getListeners(Class listenerType)
Return an array of all the listeners of the given type that were added to this model. For example to find all of the ChangeListeners added to this model:
 myAbstractSpinnerModel.getListeners(ChangeListener.class);
 

Parameters:
listenerType - the type of listeners to return, e.g. ChangeListener.class
Returns:
all of the objects receiving listenerType notifications from this model