将 JFormattedTextField 设置为仅采用允许的值

Setting JFormattedTextField to take only allowed values

如何创建只接受一组数字并且不允许用户输入字母或除 0123456789 之外的任何其他字符的 JFormattedTextField

为此,您必须创建自定义 KeyListener 以下代码将向您展示如何实现这一目标

JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener(new KeyAdapter() {
@Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
        char c = e.getKeyChar();

        if(!(Character.isDigit(c) || c == KeyEvent.VK_BACK_SPACE || c == KeyEvent.VK_DELETE)) {
            Toolkit.getDefaultToolkit().beep();
            e.consume();
        }
    }