当前位置: 首页 > 教程 > Java Swing >

Java JSpinner

精华
小牛编辑
139浏览
2023-03-14

1 Java JSpinner的介绍

JSpinner类的对象是单行输入字段,允许用户从有序序列中选择数字或对象值。

2 Java JSpinner的声明

让我们看看javax.swing.JSpinner类的声明。

public class JSpinner extends JComponent implements Accessible  

3 Java JSpinner的构造方法

方法 描述
JSpinner() 用于构造具有初始值为0且没有最小或最大限制的Integer SpinnerNumberModel的微调器。
JSpinner(SpinnerModel model) 用于为给定模型构造微调器。

4 Java JSpinner的方法

方法 描述
void addChangeListener(ChangeListener listener) 用于将侦听器添加到每次更改模型时都会通知的列表。
Object getValue() 用于返回模型的当前值。

5 Java JSpinner的案例1

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;
public class SpinnerExample {  
    public static void main(String[] args) {    
        JFrame f=new JFrame("JSpinner案例-小牛知识库网");
        SpinnerModel value =
                 new SpinnerNumberModel(5, //initial value
                    0, //minimum value
                    10, //maximum value
                    1); //step
        JSpinner spinner = new JSpinner(value);
                spinner.setBounds(100,100,50,30);
                f.add(spinner);
                f.setSize(300,300);
                f.setLayout(null);
                f.setVisible(true);
    }
}  

输出结果为:

6 Java JSpinner的案例2

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */

import javax.swing.*;
import javax.swing.*;
import javax.swing.event.*;
public class SpinnerExample {
    public static void main(String[] args) {
        JFrame f=new JFrame("JSpinner案例-小牛知识库网");
        final JLabel label = new JLabel();
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setSize(250,100);
        SpinnerModel value =
                new SpinnerNumberModel(5, //initial value
                        0, //minimum value
                        10, //maximum value
                        1); //step
        JSpinner spinner = new JSpinner(value);
        spinner.setBounds(100,100,50,30);
        f.add(spinner);  f.add(label);
        f.setSize(300,300);
        f.setLayout(null);
        f.setVisible(true);
        spinner.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                label.setText("Value : " + ((JSpinner)e.getSource()).getValue());
            }
        });
    }
}  

输出结果为: