在Swing中可以将JTextField配置为仅接受数字吗? [重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      
已邀请:
将“ 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方法中,您可以检查插入的值是否在允许的范围内     

要回复问题请先登录注册