- 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。ObjectgetNextValue()如果值已经是最后一个元素,则返回底层序列的下一个合法值(null。ObjectgetPreviousValue()返回底层序列的前一个元素,如果值已经是第一个元素,则返回null。ObjectgetValue()返回序列的当前元素。voidsetList(List<?> list)更改定义此序列的列表,并将模型value的索引重置为零。voidsetValue(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()
-
-