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 。 当模型的value或list属性更改时, ChangeListener将被通知。
JSpinner , SpinnerModel , AbstractSpinnerModel , SpinnerNumberModel , SpinnerDateModel
listenerList| Constructor and Description |
|---|
SpinnerListModel()
构造一个有效的空
SpinnerListModel 。
|
SpinnerListModel(List<?> values)
构造一个
SpinnerModel ,其值序列由指定的List
List 。
|
SpinnerListModel(Object[] values)
构造一个
SpinnerModel ,其值序列由指定的数组定义。
|
| Modifier and Type | Method and Description |
|---|---|
List<?> |
getList()
返回定义此模型序列的
List 。
|
Object |
getNextValue()
返回基础序列的下一个合法值
null如果值已经是最后一个元素。
|
Object |
getPreviousValue()
如果值已经是第一个元素,则返回底层序列的前一个元素或
null 。
|
Object |
getValue()
返回序列的当前元素。
|
void |
setList(List<?> list)
更改定义此序列的列表,并将模型
value的索引重置为零。
|
void |
setValue(Object elt)
更改序列的当前元素并通知
ChangeListeners 。
|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListenerpublic SpinnerListModel(List<?> values)
SpinnerModel ,其值序列由指定的List List 。
模型的初始值( 当前元素 )将为values.get(0) 。
如果values为null或具有零大小,则抛出IllegalArugmentException 。
values - 该模型所代表的序列
IllegalArgumentException - 如果
values是
null或零大小
public SpinnerListModel(Object[] values)
SpinnerModel ,其值序列由指定的数组定义。
模型的初始值为values[0] 。
如果values为null或长度为零,则会抛出IllegalArgumentException 。
values - 该模型所代表的序列
IllegalArgumentException - 如果
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()
getValue在接口
SpinnerModel
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");
setValue在接口
SpinnerModel
elt - 将是模型当前值的序列元素
IllegalArgumentException - 如果不允许指定的值
SpinnerModel.setValue(java.lang.Object) ,
getValue()
public Object getNextValue()
null 。
getNextValue在接口
SpinnerModel
null如果值已经是最后一个元素
SpinnerModel.getNextValue() ,
getPreviousValue()
public Object getPreviousValue()
null 。
getPreviousValue在界面
SpinnerModel
null如果值已经是第一个元素
SpinnerModel.getPreviousValue() ,
getNextValue()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.