Module java.desktop
Package javax.swing

Interface SpinnerModel

所有已知的实现类:
AbstractSpinnerModel, SpinnerDateModel, SpinnerListModel, SpinnerNumberModel

public interface SpinnerModel
一个用于潜在无限序列对象值的模型。该模型类似于ListModel,但有一些重要区别:
  • 序列元素的数量不一定是有限的。
  • 该模型不支持对序列元素的索引随机访问。一次只能访问三个序列值:当前值、下一个值和上一个值。
  • 可以设置当前序列元素。

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

value
序列的当前元素。
nextValue
下一个元素,如果value是序列的最后一个元素,则为null。
previousValue
前一个元素,如果value是序列的第一个元素,则为null。
value属性更改时,将通知ChangeListenersSpinnerModel可能选择在其他情况下通知ChangeListeners
自版本:
1.4
参见:
  • Method Details

    • getValue

      Object getValue()
      序列的当前元素。该元素通常由JSpinnereditor部分显示。
      返回:
      当前微调器值。
      参见:
    • setValue

      void setValue(Object value)
      更改模型的当前值,通常该值由JSpinnereditor部分显示。如果SpinnerModel实现不支持指定的值,则会抛出IllegalArgumentException。例如,用于数字的SpinnerModel可能仅支持是十的整数倍的值。在这种情况下,model.setValue(new Number(11))将抛出异常。
      参数:
      value - 微调器的新值
      抛出:
      IllegalArgumentException - 如果不允许value
      参见:
    • getNextValue

      Object getNextValue()
      返回序列中在getValue()返回的对象之后的对象。如果已到达序列的末尾,则返回null。调用此方法不会影响value
      返回:
      下一个合法值,如果不存在则返回null
      参见:
    • getPreviousValue

      Object getPreviousValue()
      返回序列中在getValue()返回的对象之前的对象。如果已到达序列的末尾,则返回null。调用此方法不会影响value
      返回:
      前一个合法值,如果不存在则返回null
      参见:
    • addChangeListener

      void addChangeListener(ChangeListener l)
      向模型的监听器列表中添加一个ChangeListener。当模型的value更改时,必须通知ChangeListeners
      参数:
      l - 要添加的ChangeListener
      参见:
    • removeChangeListener

      void removeChangeListener(ChangeListener l)
      从模型的监听器列表中移除一个ChangeListener
      参数:
      l - 要移除的ChangeListener
      参见: