javax.swing

接口
异常
java.lang.Object
  继承者 javax.swing.AbstractSpinnerModel
      继承者 javax.swing.SpinnerListModel
所有已实现的接口:
Serializable, SpinnerModel

public class SpinnerListModel
     
extends AbstractSpinnerModel
implements Serializable

其值由数组或 List 定义的 SpinnerModel 的简单实现。例如,创建一个由一周几天的名称数组定义的模型:

 String[] days = new DateFormatSymbols().getWeekdays();
 SpinnerModel model = new SpinnerListModel(Arrays.asList(days).subList(1, 8));
 
此类只存储对该数组或 List 的引用,所以,如果基础序列的元素发生变化,则应用程序有责任通过调用 fireStateChanged 通知 ChangeListeners

此模型继承的是一个 ChangeListener。每当该模型的 valuelist 属性发生变化时,就会通知 ChangeListener

从以下版本开始:
1.4
另请参见:
JSpinner, SpinnerModel, AbstractSpinnerModel, SpinnerNumberModel, SpinnerDateModel

字段摘要
 
从类 javax.swing.AbstractSpinnerModel 继承的字段
listenerList
 
构造方法摘要
SpinnerListModel()
          创建一个实际为空的 SpinnerListModel
SpinnerListModel(List<?> values)
          构造一个由指定 List 定义其值序列的 SpinnerModel
SpinnerListModel(Object[] values)
          构造一个由指定数组定义其值序列的 SpinnerModel
 
方法摘要
 List<?> getList()
          返回定义此模型的序列的 List
 Object getNextValue()
          返回基础序列的下一个合法值,如果值已经是最后一个元素,则返回 null
 Object getPreviousValue()
          返回该基础序列的前一个元素,如果值已经是第一个元素,则返回 null
 Object getValue()
          返回该序列的当前元素。
 void setList(List<?> list)
          更改定义此序列的列表,并将该模型 value 的索引重新设置为零。
 void setValue(Object elt)
          改变该序列的当前元素并通知 ChangeListeners
 
从类 javax.swing.AbstractSpinnerModel 继承的方法
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SpinnerListModel

public SpinnerListModel(List<?> values)
构造一个由指定 List 定义其值序列的 SpinnerModel。该模型的初始值( 当前元素)将为 values.get(0)。如果 valuesnull 或具有零大小,则抛出一个 IllegalArugmentException

参数:
values - 此模型表示的序列
抛出:
IllegalArugmentException - 如果 valuesnull 或零大小

SpinnerListModel

public SpinnerListModel(Object[] values)
构造一个由指定数组定义其值序列的 SpinnerModel。该模型的初始值将为 values[0]。如果 valuesnull 或具有零长度,则抛出一个 IllegalArugmentException

参数:
values - 此模型表示的序列
抛出:
IllegalArugmentException - 如果 valuesnull 或零长度

SpinnerListModel

public SpinnerListModel()
创建一个实际为空的 SpinnerListModel。该模型的列表将包含单个的 "empty" 字符串元素。

方法详细信息

getList

public List<?> getList()
返回定义此模型的序列的 List

返回:
list 属性的值
另请参见:
setList(java.util.List )

setList

public void setList(List<?> list)
更改定义此序列的列表,并将该模型 value 的索引重新设置为零。注意,不复制 list,该模型只存储对它的引用。

如果 list 不等于当前列表,则此方法激发一个 ChangeEvent

参数:
list - 此模型表示的序列
抛出:
IllegalArgumentException - 如果 listnull 或零长度
另请参见:
getList()

getValue

public Object getValue()
返回该序列的当前元素。

指定者:
接口 SpinnerModel 中的 getValue
返回:
value 属性
另请参见:
SpinnerModel.getValue(), setValue(java.lang.Object)

setValue

public void setValue(Object elt)
改变该序列的当前元素并通知 ChangeListeners。如果指定值不等于基础序列的元素,则抛出一个 IllegalArgumentException。在以下示例中,该 setValue 调用会抛出一个异常:
 String[] values = {"one", "two", "free", "four"};
 SpinnerModel model = new SpinnerListModel(values);
 model.setValue("TWO");
 

指定者:
接口 SpinnerModel 中的 setValue
参数:
elt - 将作为模型当前值的序列元素
抛出:
IllegalArgumentException - 如果不允许指定值
另请参见:
SpinnerModel.setValue(java.lang.Object), getValue()

getNextValue

public Object getNextValue()
返回基础序列的下一个合法值,如果值已经是最后一个元素,则返回 null

指定者:
接口 SpinnerModel 中的 getNextValue
返回:
该基础序列的下一个合法值,或返回 null 如果值已经是最后一个元素
另请参见:
SpinnerModel.getNextValue(), getPreviousValue()

getPreviousValue

public Object getPreviousValue()
返回该基础序列的前一个元素,如果值已经是第一个元素,则返回 null

指定者:
接口 SpinnerModel 中的 getPreviousValue
返回:
该基础序列的前一个元素,如果值已经是第一个元素,则返回 null
另请参见:
SpinnerModel.getPreviousValue(), getNextValue()