- java.lang.Object
-
- javax.swing.AbstractSpinnerModel
-
- javax.swing.SpinnerListModel
-
- All Implemented Interfaces:
-
Serializable
,SpinnerModel
public class SpinnerListModel extends AbstractSpinnerModel implements Serializable
SpinnerModel
的简单实现,其值由数组或List
定义。 例如,创建一个由一个星期几的名称的数组定义的模型:String[] days = new DateFormatSymbols().getWeekdays(); SpinnerModel model = new SpinnerListModel(Arrays.asList(days).subList(1, 8));
此类仅存储对数组的引用或List
因此如果底层序列的元素发生更改,ChangeListeners
应用程序通过调用fireStateChanged
通知fireStateChanged
。此模式继承了
ChangeListener
。 该ChangeListener
,就会通知每当模型value
或者list
性质改变。- 从以下版本开始:
- 1.4
- 另请参见:
-
JSpinner
,SpinnerModel
,AbstractSpinnerModel
,SpinnerNumberModel
,SpinnerDateModel
, Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.swing.AbstractSpinnerModel
listenerList
-
-
构造方法摘要
构造方法 Constructor 描述 SpinnerListModel()
构造一个有效的空SpinnerListModel
。SpinnerListModel(Object[] values)
构造一个SpinnerModel
其值序列由指定的数组定义。SpinnerListModel(List<?> values)
构造一个SpinnerModel
其值序列由指定的List
定义。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 List<?>
getList()
返回定义此模型序列的List
。Object
getNextValue()
如果值已经是最后一个元素,则返回底层序列的下一个合法值(null
。Object
getPreviousValue()
返回底层序列的前一个元素,如果值已经是第一个元素,则返回null
。Object
getValue()
返回序列的当前元素。void
setList(List<?> list)
更改定义此序列的列表,并将模型value
的索引重置为零。void
setValue(Object elt)
更改序列的当前元素并通知ChangeListeners
。-
Methods inherited from class javax.swing.AbstractSpinnerModel
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
-
-
-
-
构造方法详细信息
-
SpinnerListModel
public SpinnerListModel(List<?> values)
构造一个SpinnerModel
其值序列由指定的List
定义。 模型的初始值( 当前要素 )为values.get(0)
。 如果values
为null
或为零,则抛出IllegalArugmentException
。- 参数
-
values
- 该模型表示的序列 - 异常
-
IllegalArgumentException
- 如果values
是null
或零大小
-
SpinnerListModel
public SpinnerListModel(Object[] values)
构造一个SpinnerModel
其值序列由指定的数组定义。 模型的初始值为values[0]
。 如果values
是null
或零长度,则抛出一个IllegalArgumentException
。- 参数
-
values
- 该模型表示的序列 - 异常
-
IllegalArgumentException
- 如果values
为null
或零长度
-
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
- 如果list
是null
或零长度 - 另请参见:
-
getList()
-
getValue
public Object getValue()
返回序列的当前元素。- Specified by:
-
getValue
在接口SpinnerModel
- 结果
-
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");
- Specified by:
-
setValue
接口SpinnerModel
- 参数
-
elt
- 将是模型当前值的序列元素 - 异常
-
IllegalArgumentException
- 如果不允许指定的值 - 另请参见:
-
SpinnerModel.setValue(java.lang.Object)
,getValue()
-
getNextValue
public Object getNextValue()
返回底层序列的下一个合法值,如果值已经是最后一个元素,则返回null
。- Specified by:
-
getNextValue
在接口SpinnerModel
- 结果
-
下一个合法值的底层序列或
null
如果值已经是最后一个元素 - 另请参见:
-
SpinnerModel.getNextValue()
,getPreviousValue()
-
getPreviousValue
public Object getPreviousValue()
如果值已经是第一个元素,则返回底层序列的前一个元素或null
。- Specified by:
-
getPreviousValue
在接口SpinnerModel
- 结果
-
前一个元素的底层序列或
null
如果值已经是第一个元素 - 另请参见:
-
SpinnerModel.getPreviousValue()
,getNextValue()
-
-