在我的第一个程序上工作。我想出了如何识别不想输入的字符。我想知道如何删除最后输入的字符,以便从用户的角度来看它会出现,因为只能输入数字。

@Override
public void keyPressed(KeyEvent e) {
    char keyChar = e.getKeyChar();;
    char[] badCharArray = "abcdefghijklmnopqrstuvwxyz-`~!@#$%^&*()[]{}<>_+=|\"':;?/ ".toCharArray();
        for (int i = 0; i < badCharArray.length; i++) {
            if (badCharArray[i] == keyChar) {
                System.out.print(badCharArray[i] + " bad\n");
                hourlyWageInput.setBackground(Color.RED);
                }
            }
        }


谢谢。

最佳答案

最简单的方法是使用JFormattedTextField而不是JTextField。

NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits(2); // eventually maximum fraction digits

JFormattedTextField fld = new JFormattedTextField(format);

10-06 08:58