【问题标题】:JSpinner number editor displayJSpinner数字编辑器显示
【发布时间】:2016-10-31 09:17:08
【问题描述】:
    JFrame frame=new JFrame();
    frame.setSize(500, 500);        
    JPanel panel =new JPanel();
    panel.setSize(200, 200);
    frame.add(panel);


    JSpinner m_numberSpinner=new JSpinner();
    m_numberSpinner.setSize(100, 100);
    SpinnerNumberModel l_spinnerModel = new SpinnerNumberModel(0, 0, 999, 1);
    m_numberSpinner = new JSpinner(l_spinnerModel);
    JSpinner.NumberEditor l_editor = new JSpinner.NumberEditor(m_numberSpinner);
    m_numberSpinner.setEditor(l_editor);

    NumberFormat m_numberFormatter = l_editor.getFormat();
    m_numberFormatter.setMaximumIntegerDigits(2);
    m_numberFormatter.setMinimumIntegerDigits(m_numberFormatter.getMaximumIntegerDigits());     
    panel.add(m_numberSpinner);
    frame.setVisible(true);

您好,这是一个简单的 java JFrame,用于显示数字微调器。

第一个数字显示为“00”。我希望它显示为 0。这可能吗? 下一个数字显示为“01”。我想显示为 1。有可能吗?

【问题讨论】:

    标签: java swing number-formatting jspinner


    【解决方案1】:

    您自己用NumberFormat 指定了JSpinner 的数字出现以使用最多两个数字

    m_numberFormatter.setMaximumIntegerDigits(2);
    

    并且对于最小值,已经设置的最大值是两个

    m_numberFormatter.setMinimumIntegerDigits(m_numberFormatter.getMaximumIntegerDigits());
    

    这导致总是使用两位数。所以101 等等。

    也许这就是你想要的:

    m_numberFormatter.setMaximumIntegerDigits(2);
    m_numberFormatter.setMinimumIntegerDigits(1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 2023-03-24
      相关资源
      最近更新 更多