【发布时间】:2012-03-19 22:35:59
【问题描述】:
我正在尝试制作一个只接受数字但我也希望它读取/响应退格的 JSpinner。
public class test {
JFrame frame;
JPanel panel;
JSpinner spinner;
public test()
{
frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(200,200));
panel = new JPanel();
SpinnerNumberModel numSpin = new SpinnerNumberModel(10, 0,1000,1);
spinner = new JSpinner(numSpin);
JFormattedTextField txt = ((JSpinner.NumberEditor) spinner.getEditor()).getTextField();
((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);
panel.add(spinner);
frame.setContentPane(panel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args)
{
test test = new test();
}
}
上面的代码只能生成数字,但这不允许我退格。我在这个网站上找到了一些示例,但它们是为 C 编写的。
【问题讨论】:
-
请学习java命名约定并遵守它们
标签: java swing jspinner jformattedtextfield