Module  java.desktop
软件包  javax.swing

Class JSpinner

  • All Implemented Interfaces:
    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提供类的一些常见类型: SpinnerListModelSpinnerNumberModel ,并SpinnerDateModel

    A JSpinner具有单个子组件,负责显示和潜在地更改模型的当前元素或 ,这称为editor 编辑器由JSpinner的构造函数创建,可以使用editor属性更改。 JSpinner的编辑器通过监听ChangeEvent s与模型保持同步。 如果用户已经改变由所述显示的值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版本开始,所有JavaBeans的长期存储支持已被添加到java.beans包中。 请参阅XMLEncoder

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

      • JSpinner

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

        public JSpinner​()
        构造一个带有初始值为0的 Integer SpinnerNumberModel的旋转器,并且没有最小或最大限制。