【问题标题】:JSpinner without negative values没有负值的JSpinner
【发布时间】:2011-11-09 18:40:03
【问题描述】:

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

额外:

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

【问题讨论】:

    标签: java swing netbeans6.8 jspinner


    【解决方案1】:

    对于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);
        }
    }
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 这是一个真正旧版 Java 的链接。
      • @jzd - 是的,我也一直想知道那些旧的参考资料。直到我注意到它们在谷歌搜索中的排名很高(我记得即使是第一个,现在也无法重现它 - 搜索“JSpinner”1.4.2 在列表中排名第二)。
      • 是的,一些较旧的 API 在 Google 的搜索结果中排名靠前,但我认为这只是因为 Google 抓取的网页上有太多链接指向旧 API。
      【解决方案3】:

      它适用于r0ast3d 的库参考:

      ((SpinnerNumberModel) mySpinner.getModel()).setMinimum(0);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多