Module  java.desktop
软件包  javax.swing

Class SpinnerListModel

  • All Implemented Interfaces:
    SerializableSpinnerModel


    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
    另请参见:
    JSpinnerSpinnerModelAbstractSpinnerModelSpinnerNumberModelSpinnerDateModelSerialized Form
    • 构造方法详细信息

      • SpinnerListModel

        public SpinnerListModel​(List<?> values)
        构造一个SpinnerModel其值序列由指定的List定义。 模型的初始值( 当前要素 )为values.get(0) 如果valuesnull或为零,则抛出IllegalArugmentException
        参数
        values - 该模型表示的序列
        异常
        IllegalArgumentException - 如果 valuesnull或零大小
      • SpinnerListModel

        public SpinnerListModel​(Object[] values)
        构造一个SpinnerModel其值序列由指定的数组定义。 模型的初始值为values[0] 如果valuesnull或零长度,则抛出一个IllegalArgumentException
        参数
        values - 该模型表示的序列
        异常
        IllegalArgumentException - 如果 valuesnull或零长度
      • 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 - 如果 listnull或零长度
        另请参见:
        getList()
      • 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()