JSpinner数字编辑器显示
Posted
技术标签:
【中文标题】JSpinner数字编辑器显示【英文标题】:JSpinner number editor display 【发布时间】: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。有可能吗?
【问题讨论】:
【参考方案1】:您自己用NumberFormat
指定了JSpinner
的数字出现以使用最多两个数字
m_numberFormatter.setMaximumIntegerDigits(2);
并且对于最小值,已经设置的最大值是两个
m_numberFormatter.setMinimumIntegerDigits(m_numberFormatter.getMaximumIntegerDigits());
这导致总是使用两位数。所以1
是01
等等。
也许这就是你想要的:
m_numberFormatter.setMaximumIntegerDigits(2);
m_numberFormatter.setMinimumIntegerDigits(1);
【讨论】:
以上是关于JSpinner数字编辑器显示的主要内容,如果未能解决你的问题,请参考以下文章