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

时间:2015-12-31 17:05:00

标签: java swing numbers jformattedtextfield

如何创建仅包含一组数字的JFormattedTextField,除了0123456789之外,不允许用户输入字母或任何其他字符?

1 个答案:

答案 0 :(得分: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();
        }
    }