java.lang.Object javax.swing.AbstractSpinnerModel javax.swing.SpinnerListModel
public class SpinnerListModel
其值由数组或 List
定义的 SpinnerModel
的简单实现。例如,创建一个由一周几天的名称数组定义的模型:
String[] days = new DateFormatSymbols().getWeekdays(); SpinnerModel model = new SpinnerListModel(Arrays.asList(days).subList(1, 8));此类只存储对该数组或
List
的引用,所以,如果基础序列的元素发生变化,则应用程序有责任通过调用
fireStateChanged
通知
ChangeListeners
。
此模型继承的是一个 ChangeListener
。每当该模型的 value
或 list
属性发生变化时,就会通知 ChangeListener
。
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 |
构造方法详细信息 |
---|
public SpinnerListModel(List<?> values)
List
定义其值序列的
SpinnerModel
。该模型的初始值(
当前元素)将为
values.get(0)
。如果
values
为
null
或具有零大小,则抛出一个
IllegalArugmentException
。
values
- 此模型表示的序列
IllegalArugmentException
- 如果
values
为
null
或零大小
public SpinnerListModel(Object[] values)
SpinnerModel
。该模型的初始值将为
values[0]
。如果
values
为
null
或具有零长度,则抛出一个
IllegalArugmentException
。
values
- 此模型表示的序列
IllegalArugmentException
- 如果
values
为
null
或零长度
public SpinnerListModel()
SpinnerListModel
。该模型的列表将包含单个的
"empty"
字符串元素。
方法详细信息 |
---|
public List<?> getList()
List
。
list
属性的值
setList(java.util.List
)
public void setList(List<?> list)
value
的索引重新设置为零。注意,不复制
list
,该模型只存储对它的引用。
如果 list
不等于当前列表,则此方法激发一个 ChangeEvent
。
list
- 此模型表示的序列
IllegalArgumentException
- 如果
list
为
null
或零长度
getList()
public Object getValue()
SpinnerModel
中的
getValue
value
属性
SpinnerModel.getValue()
,
setValue(java.lang.Object)
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()
public Object getNextValue()
null
。
SpinnerModel
中的
getNextValue
null
如果值已经是最后一个元素
SpinnerModel.getNextValue()
,
getPreviousValue()
public Object getPreviousValue()
null
。
SpinnerModel
中的
getPreviousValue
null
SpinnerModel.getPreviousValue()
,
getNextValue()