Установка JFormattedTextField для принятия только разрешенных значений

Как мне создать JFormattedTextField это только принимает набор цифр и не позволяет пользователю вводить буквы или любые другие символы, кроме 0123456789?

1 ответ

Решение

Для этого вам нужно создать свой собственный 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();
        }
    }
Другие вопросы по тегам