3

我正在 netbeans 中构建一个小型应用程序,我使用 JSpinner 组件来设置产品的数量。如何将微调器设置为仅采用正值?在 Netbeans 中是否有我可以设置的选项或方法JSpinner?

额外的:

spinner.setModel(new SpinnerNumberModel(0, 0, 20, 1));

4

3 回答 3

8

对于JSpinner你必须实现SpinnerNumberModel

import javax.swing.*;

public class SpinnerModelTest {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new SpinnerModelTest().makeUI();
            }
        });
    }

    public void makeUI() {
        SpinnerModel modeltau = new SpinnerNumberModel(0.0002, 0.0001, 100.0000, 0.0001);
        JSpinner spinner = new JSpinner(modeltau);
        ((JSpinner.NumberEditor) spinner.getEditor()).getFormat().setMaximumFractionDigits(4);
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(spinner);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}
于 2011-11-09T18:43:50.473 回答
5

您是否尝试设置最小值?

http://docs.oracle.com/javase/7/docs/api/javax/swing/SpinnerNumberModel.html#setMinimum(java.lang.Comparable)

于 2011-11-09T18:44:51.250 回答
1

它适用于r0ast3d的库参考:

((SpinnerNumberModel) mySpinner.getModel()).setMinimum(0);
于 2016-05-27T22:05:36.487 回答