问题描述
|
这个问题已经在这里有了答案:
解决方法
将“ 0”与“ 1”一起使用-最终用户将感谢您。并非按字面意思可以,但是至少他们不会诅咒您的名字,以迫使他们使用箭头键输入想要选择的内容。
例如。
import javax.swing.*;
class NumberChooser {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SpinnerNumberModel numberModel = new SpinnerNumberModel(
new Integer(15),// value
new Integer(10),// min
new Integer(30),// max
new Integer(1) // step
);
JSpinner numberChooser = new JSpinner(numberModel);
JOptionPane.showMessageDialog(null,numberChooser);
System.out.println(\"Number: \" + numberChooser.getValue());
}
});
}
}
,创建扩展PlainDocument的自定义类
public class NumericDocument extends PlainDocument
在此类中重写insertString。大量在线示例使用Character.isDigit方法检查每个输入的值以检查是否为数字。
当您创建JTextField时,使用
JTextField numericTextOnlyField = new JTextField(new NumericDocument())
在insertString方法中,您可以检查插入的值是否在允许的范围内