模块  java.desktop
软件包  javax.swing

Class JSpinner

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    @JavaBean(defaultProperty="UI",
              description="A single line input field that lets the user select a number or an object value from an ordered set.")
    public class JSpinner
    extends JComponent
    implements Accessible
    单行输入字段,允许用户从有序序列中选择数字或对象值。 旋转器通常提供一对微小的箭头按钮,用于单步执行序列的元素。 键盘上/下箭头键也循环显示元素。 也可以允许用户直接在微调器中键入(合法)值。 虽然组合框提供类似的功能,但有时候首选旋转器是因为它们不需要可以隐藏重要数据的下拉列表。

    JSpinner的序列值由其SpinnerModel定义。 可以将model指定为构造函数参数,并使用model属性进行更改。 SpinnerModel提供类的一些常见类型: SpinnerListModelSpinnerNumberModelSpinnerDateModel

    JSpinner有一个子组件,负责显示和可能更改模型的当前元素或 ,称为editor 编辑器由JSpinner的构造函数创建,可以使用editor属性进行更改。 JSpinner的编辑器通过监听ChangeEvent与模型保持同步。 如果用户已经改变由所述显示的值editor它有可能为model的值,以从所述的不同editor 要确保model具有与编辑器相同的值,请使用commitEdit方法,例如:

      try {
           spinner.commitEdit();
       }
       catch (ParseException pe) {
           // Edited value is invalid, spinner.getValue() will return
           // the last valid value, you could revert the spinner to show that:
           JComponent editor = spinner.getEditor();
           if (editor instanceof DefaultEditor) {
               ((DefaultEditor)editor).getTextField().setValue(spinner.getValue());
           }
           // reset the value to some known value:
           spinner.setValue(fallbackValue);
           // or treat the last valid value as the current, in which
           // case you don't need to do anything.
       }
       return spinner.getValue(); 

    有关使用微调器的信息和示例,请参阅“Java教程” How to Use Spinners部分

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.4
    另请参见:
    SpinnerModelAbstractSpinnerModelSpinnerListModelSpinnerNumberModelSpinnerDateModelJFormattedTextFieldSerialized Form
    • 构造方法详细信息

      • JSpinner

        public JSpinner​(SpinnerModel model)
        为给定模型构造一个微调器。 微调器有一组上一个/下一个按钮,以及一个适合该模型的编辑器。
        参数
        model - 新微调器的模型
        异常
        NullPointerException - 如果该型号是 null
      • JSpinner

        public JSpinner()
        使用 Integer SpinnerNumberModel构造一个初始值为0且没有最小或最大限制的微调器。