javax.swing

接口
异常
所有已知实现类:
AbstractSpinnerModel, SpinnerDateModel, SpinnerListModel, SpinnerNumberModel

public interface SpinnerModel

对象值的潜在无界序列的模型。此模型类似于 ListModel,但是有以下一些重要区别:

  • 序列元素数不一定是有界的。
  • 该模型不支持对序列元素的索引随机存取。一次只有以下三个序列值可以存取:当前值、下一个值和前一个值。
  • 可以设置当前序列元素。

SpinnerModel 有三个属性,只有第一个是读/写属性。

value
该序列的当前元素。
nextValue
下一个元素,如果 value 是该序列的最后一个元素,则为 null。
previousValue
前一个元素,如果 value 是该序列的第一个元素,则为 null。
value 属性更改时,将通知 ChangeListeners。在其他情况下, SpinnerModel 可以选择通知 ChangeListeners

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

方法摘要
 void addChangeListener(ChangeListener l)
          向该模型的侦听器列表添加一个 ChangeListener
 Object getNextValue()
          返回该序列中出现在 getValue() 返回的对象之后的对象。
 Object getPreviousValue()
          返回该序列中出现在 getValue() 返回的对象之前的对象。
 Object getValue()
          该序列的当前元素
 void removeChangeListener(ChangeListener l)
          从该模型的侦听器列表移除一个 ChangeListener
 void setValue(Object value)
          改变该模型的当前值,通常此值由 JSpinnereditor 部分显示。
 

方法详细信息

getValue

Object getValue()
该序列的 当前元素。此元素通常由 JSpinnereditor 部分显示。

返回:
当前的 spinner 值。
另请参见:
setValue(java.lang.Object)

setValue

void setValue(Object value)
改变该模型的当前值,通常此值由 JSpinnereditor 部分显示。如果 SpinnerModel 实现不支持指定值,则抛出一个 IllegalArgumentException。例如,数字的 SpinnerModel 可能只支持 10 的整数倍的值。在这种情况下, model.setValue(new Number(11)) 将抛出一个异常。

抛出:
IllegalArgumentException - 如果不允许 value
另请参见:
getValue()

getNextValue

Object getNextValue()
返回该序列中出现在 getValue() 返回的对象之后的对象。如果已到达该序列的结尾,则返回 null。调用此方法不会影响 value

返回:
下一个合法值,如果一个也不存在,则返回 null
另请参见:
getValue(), getPreviousValue()

getPreviousValue

Object getPreviousValue()
返回该序列中出现在 getValue() 返回的对象之前的对象。如果已到达该序列的结尾,则返回 null。调用此方法不会影响 value

返回:
前一个合法值,如果一个也不存在,则返回 null
另请参见:
getValue(), getNextValue()

addChangeListener

void addChangeListener(ChangeListener l)
向该模型的侦听器列表添加一个 ChangeListener。模型 value 变化时,必须通知该 ChangeListeners

参数:
l - 要添加的 ChangeListener
另请参见:
removeChangeListener(javax.swing.event.ChangeListener)

removeChangeListener

void removeChangeListener(ChangeListener l)
从该模型的侦听器列表移除一个 ChangeListener

参数:
l - 要移除的 ChangeListener
另请参见:
addChangeListener(javax.swing.event.ChangeListener)