【发布时间】:2017-12-12 20:09:13
【问题描述】:
每当我在文本框中按退格键时,就会触发此代码。
private void txtAgeKeyTyped(java.awt.event.KeyEvent evt) {
char agetext= evt.getKeyChar();
if(!(Character.isDigit(agetext))){
evt.consume();
JOptionPane.showMessageDialog(null,"Age is only written in Numbers!");
}
}
只有当我输入字母而不是数字时才会触发它。
由于某种原因,每当我按下退格键时它都会触发。
有没有办法让我在不触发这段代码的情况下使用退格?
对不起,这是我第一次摆弄关键事件
【问题讨论】:
-
是什么方法?为什么会触发?请在您的问题中添加一些详细信息!
-
如果我想在文本框中使用退格键删除字符,则消息“年龄只写在数字中!”看来我在 Netbeans 中使用了 KeyTyped
-
@user3647634 那么退格键是否被视为数字?不它不是。这就是为什么您的 if 语句计算结果为 true 并且您会看到“age is only written in numbers!”。
-
@JonnyHenly 我认为 OP 已经知道这一点。这就是为什么他/她试图让退格键不触发该方法。
标签: java