【发布时间】:2015-09-17 07:54:49
【问题描述】:
我知道这个问题已经被问过很多次,但我仍然无法得到我真正需要的答案。希望这一次,有人可以帮助我,我提前感谢你。 :)
这就是我在程序中想要的,我希望用户限制只能输入数字。每当他们输入字母和其他内容时,都会有提示信息。我可以这样做,有一个关于字母和其他字符的提示信息,但输入的值仍然存在,我希望它被清除。
请看我的代码。
private void txtQty1KeyTyped(java.awt.event.KeyEvent evt) {
txtQty1.addKeyListener(new KeyAdapter() {});
char char_input = evt.getKeyChar();
if (((char_input < '0') || (char_input > '9')) && (char_input != '\b'))
{
JOptionPane.showMessageDialog(this, "Number only!","Invalid Input",JOptionPane.ERROR_MESSAGE);
txtQty1.setText(" ");
}
}
虽然我清除了我的文本字段,但我输入的字符仍然出现。 任何帮助将非常感激。谢谢! :)
【问题讨论】:
-
evt.consume();应该做的伎俩docs.oracle.com/javase/7/docs/api/java/awt/event/…
-
使用
DocumentFilter,如下所示:stackoverflow.com/questions/32566597/…。 OP 使用有效的过滤器更新了问题。
标签: java jtextfield