模块  java.desktop
软件包  javax.swing

Class SpinnerListModel

  • 实现的所有接口
    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 ,就会通知每当该模型的valuelist性质改变。

    从以下版本开始:
    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"字符串元素。
    • 方法详细信息

      • 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()