javax.swing
Class SpinnerListModel

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.swing.AbstractSpinnerModel sample code for javax.swing.AbstractSpinnerModel definition code for javax.swing.AbstractSpinnerModel 
      extended by javax.swing.SpinnerListModel
All Implemented Interfaces:
Serializable sample code for java.io.Serializable definition code for java.io.Serializable , SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel

public class SpinnerListModel
extends AbstractSpinnerModel sample code for javax.swing.AbstractSpinnerModel definition code for javax.swing.AbstractSpinnerModel
implements Serializable sample code for java.io.Serializable definition code for java.io.Serializable

A simple implementation of SpinnerModel whose values are defined by an array or a List. For example to create a model defined by an array of the names of the days of the week:

 String[] days = new DateFormatSymbols().getWeekdays();
 SpinnerModel model = new SpinnerListModel(Arrays.asList(days).subList(1, 8));
 
This class only stores a reference to the array or List so if an element of the underlying sequence changes, it's up to the application to notify the ChangeListeners by calling fireStateChanged.

This model inherits a ChangeListener. The ChangeListeners are notified whenever the model's value or list properties changes.

Since:
1.4
See Also:
JSpinner sample code for javax.swing.JSpinner definition code for javax.swing.JSpinner , SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel , AbstractSpinnerModel sample code for javax.swing.AbstractSpinnerModel definition code for javax.swing.AbstractSpinnerModel , SpinnerNumberModel sample code for javax.swing.SpinnerNumberModel definition code for javax.swing.SpinnerNumberModel , SpinnerDateModel sample code for javax.swing.SpinnerDateModel definition code for javax.swing.SpinnerDateModel , Serialized Form

Field Summary
 
Fields inherited from class javax.swing.AbstractSpinnerModel sample code for javax.swing.AbstractSpinnerModel definition code for javax.swing.AbstractSpinnerModel
listenerList sample code for javax.swing.AbstractSpinnerModel.listenerList definition code for javax.swing.AbstractSpinnerModel.listenerList
 
Constructor Summary
SpinnerListModel sample code for javax.swing.SpinnerListModel.SpinnerListModel() definition code for javax.swing.SpinnerListModel.SpinnerListModel() ()
          Constructs an effectively empty SpinnerListModel.
SpinnerListModel sample code for javax.swing.SpinnerListModel.SpinnerListModel(java.util.List) definition code for javax.swing.SpinnerListModel.SpinnerListModel(java.util.List) (List sample code for java.util.List definition code for java.util.List <?> values)
          Constructs a SpinnerModel whose sequence of values is defined by the specified List.
SpinnerListModel sample code for javax.swing.SpinnerListModel.SpinnerListModel(java.lang.Object[]) definition code for javax.swing.SpinnerListModel.SpinnerListModel(java.lang.Object[]) (Object sample code for java.lang.Object definition code for java.lang.Object [] values)
          Constructs a SpinnerModel whose sequence of values is defined by the specified array.
 
Method Summary
 List sample code for java.util.List definition code for java.util.List <?> getList sample code for javax.swing.SpinnerListModel.getList() definition code for javax.swing.SpinnerListModel.getList() ()
          Returns the List that defines the sequence for this model.
 Object sample code for java.lang.Object definition code for java.lang.Object getNextValue sample code for javax.swing.SpinnerListModel.getNextValue() definition code for javax.swing.SpinnerListModel.getNextValue() ()
          Returns the next legal value of the underlying sequence or null if value is already the last element.
 Object sample code for java.lang.Object definition code for java.lang.Object getPreviousValue sample code for javax.swing.SpinnerListModel.getPreviousValue() definition code for javax.swing.SpinnerListModel.getPreviousValue() ()
          Returns the previous element of the underlying sequence or null if value is already the first element.
 Object sample code for java.lang.Object definition code for java.lang.Object getValue sample code for javax.swing.SpinnerListModel.getValue() definition code for javax.swing.SpinnerListModel.getValue() ()
          Returns the current element of the sequence.
 void setList sample code for javax.swing.SpinnerListModel.setList(java.util.List) definition code for javax.swing.SpinnerListModel.setList(java.util.List) (List sample code for java.util.List definition code for java.util.List <?> list)
          Changes the list that defines this sequence and resets the index of the models value to zero.
 void setValue sample code for javax.swing.SpinnerListModel.setValue(java.lang.Object) definition code for javax.swing.SpinnerListModel.setValue(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  elt)
          Changes the current element of the sequence and notifies ChangeListeners.
 
Methods inherited from class javax.swing.AbstractSpinnerModel sample code for javax.swing.AbstractSpinnerModel definition code for javax.swing.AbstractSpinnerModel
addChangeListener sample code for javax.swing.AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener) , fireStateChanged sample code for javax.swing.AbstractSpinnerModel.fireStateChanged() definition code for javax.swing.AbstractSpinnerModel.fireStateChanged() , getChangeListeners sample code for javax.swing.AbstractSpinnerModel.getChangeListeners() definition code for javax.swing.AbstractSpinnerModel.getChangeListeners() , getListeners sample code for javax.swing.AbstractSpinnerModel.getListeners(java.lang.Class) definition code for javax.swing.AbstractSpinnerModel.getListeners(java.lang.Class) , removeChangeListener sample code for javax.swing.AbstractSpinnerModel.removeChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.AbstractSpinnerModel.removeChangeListener(javax.swing.event.ChangeListener)
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

SpinnerListModel sample code for javax.swing.SpinnerListModel(java.util.List<?>) definition code for javax.swing.SpinnerListModel(java.util.List<?>)

public SpinnerListModel(List sample code for java.util.List definition code for java.util.List <?> values)
Constructs a SpinnerModel whose sequence of values is defined by the specified List. The initial value (current element) of the model will be values.get(0). If values is null or has zero size, an IllegalArugmentException is thrown.

Parameters:
values - the sequence this model represents
Throws:
IllegalArugmentException - if values is null or zero size

SpinnerListModel sample code for javax.swing.SpinnerListModel(java.lang.Object[]) definition code for javax.swing.SpinnerListModel(java.lang.Object[])

public SpinnerListModel(Object sample code for java.lang.Object definition code for java.lang.Object [] values)
Constructs a SpinnerModel whose sequence of values is defined by the specified array. The initial value of the model will be values[0]. If values is null or has zero length, an IllegalArugmentException is thrown.

Parameters:
values - the sequence this model represents
Throws:
IllegalArugmentException - if values is null or zero length

SpinnerListModel sample code for javax.swing.SpinnerListModel() definition code for javax.swing.SpinnerListModel()

public SpinnerListModel()
Constructs an effectively empty SpinnerListModel. The model's list will contain a single "empty" string element.

Method Detail

getList sample code for javax.swing.SpinnerListModel.getList() definition code for javax.swing.SpinnerListModel.getList()

public List sample code for java.util.List definition code for java.util.List <?> getList()
Returns the List that defines the sequence for this model.

Returns:
the value of the list property
See Also:
setList(java.util.List) sample code for javax.swing.SpinnerListModel.setList(java.util.List) definition code for javax.swing.SpinnerListModel.setList(java.util.List)

setList sample code for javax.swing.SpinnerListModel.setList(java.util.List<?>) definition code for javax.swing.SpinnerListModel.setList(java.util.List<?>)

public void setList(List sample code for java.util.List definition code for java.util.List <?> list)
Changes the list that defines this sequence and resets the index of the models value to zero. Note that list is not copied, the model just stores a reference to it.

This method fires a ChangeEvent if list is not equal to the current list.

Parameters:
list - the sequence that this model represents
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if list is null or zero length
See Also:
getList() sample code for javax.swing.SpinnerListModel.getList() definition code for javax.swing.SpinnerListModel.getList()

getValue sample code for javax.swing.SpinnerListModel.getValue() definition code for javax.swing.SpinnerListModel.getValue()

public Object sample code for java.lang.Object definition code for java.lang.Object  getValue()
Returns the current element of the sequence.

Specified by:
getValue sample code for javax.swing.SpinnerModel.getValue() definition code for javax.swing.SpinnerModel.getValue() in interface SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel
Returns:
the value property
See Also:
SpinnerModel.getValue() sample code for javax.swing.SpinnerModel.getValue() definition code for javax.swing.SpinnerModel.getValue() , setValue(java.lang.Object) sample code for javax.swing.SpinnerListModel.setValue(java.lang.Object) definition code for javax.swing.SpinnerListModel.setValue(java.lang.Object)

setValue sample code for javax.swing.SpinnerListModel.setValue(java.lang.Object) definition code for javax.swing.SpinnerListModel.setValue(java.lang.Object)

public void setValue(Object sample code for java.lang.Object definition code for java.lang.Object  elt)
Changes the current element of the sequence and notifies ChangeListeners. If the specified value is not equal to an element of the underlying sequence then an IllegalArgumentException is thrown. In the following example the setValue call would cause an exception to be thrown:
 String[] values = {"one", "two", "free", "four"};
 SpinnerModel model = new SpinnerListModel(values);
 model.setValue("TWO");
 

Specified by:
setValue sample code for javax.swing.SpinnerModel.setValue(java.lang.Object) definition code for javax.swing.SpinnerModel.setValue(java.lang.Object) in interface SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel
Parameters:
elt - the sequence element that will be model's current value
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the specified value isn't allowed
See Also:
SpinnerModel.setValue(java.lang.Object) sample code for javax.swing.SpinnerModel.setValue(java.lang.Object) definition code for javax.swing.SpinnerModel.setValue(java.lang.Object) , getValue() sample code for javax.swing.SpinnerListModel.getValue() definition code for javax.swing.SpinnerListModel.getValue()

getNextValue sample code for javax.swing.SpinnerListModel.getNextValue() definition code for javax.swing.SpinnerListModel.getNextValue()

public Object sample code for java.lang.Object definition code for java.lang.Object  getNextValue()
Returns the next legal value of the underlying sequence or null if value is already the last element.

Specified by:
getNextValue sample code for javax.swing.SpinnerModel.getNextValue() definition code for javax.swing.SpinnerModel.getNextValue() in interface SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel
Returns:
the next legal value of the underlying sequence or null if value is already the last element
See Also:
SpinnerModel.getNextValue() sample code for javax.swing.SpinnerModel.getNextValue() definition code for javax.swing.SpinnerModel.getNextValue() , getPreviousValue() sample code for javax.swing.SpinnerListModel.getPreviousValue() definition code for javax.swing.SpinnerListModel.getPreviousValue()

getPreviousValue sample code for javax.swing.SpinnerListModel.getPreviousValue() definition code for javax.swing.SpinnerListModel.getPreviousValue()

public Object sample code for java.lang.Object definition code for java.lang.Object  getPreviousValue()
Returns the previous element of the underlying sequence or null if value is already the first element.

Specified by:
getPreviousValue sample code for javax.swing.SpinnerModel.getPreviousValue() definition code for javax.swing.SpinnerModel.getPreviousValue() in interface SpinnerModel sample code for javax.swing.SpinnerModel definition code for javax.swing.SpinnerModel
Returns:
the previous element of the underlying sequence or null if value is already the first element
See Also:
SpinnerModel.getPreviousValue() sample code for javax.swing.SpinnerModel.getPreviousValue() definition code for javax.swing.SpinnerModel.getPreviousValue() , getNextValue() sample code for javax.swing.SpinnerListModel.getNextValue() definition code for javax.swing.SpinnerListModel.getNextValue()