我试过了,但JTextField不断显示输入的最后一个键。我做错了什么?...哪一个是验证JTextField中数据的最佳方法?
private void codigoKeyTyped(java.awt.event.KeyEvent evt) {
//codigo is the JTextField
String s = String.valueOf(evt.getKeyChar());
try{
Integer.parseInt(s);
}catch(Exception e){
codigo.setText("");
}
}
最后,我希望它删除最后一个字符,并在文本字段中保留整数值。但我想解决这个后会很简单。谢谢!
//回答!
谢谢大家回答我的问题。最后我做了这个
private void codigoKeyTyped(java.awt.event.KeyEvent evt) {
char c = evt.getKeyChar();
if (! Character.isDigit(c)) {
evt.consume();
}
}
其** **其中** btw – TheLQ 2010-09-06 04:29:49
谢谢!我会说西班牙语,所以,我错误了很多......对不起,谢谢! – Roger 2010-09-08 00:50:17
您是否知道在所有情况下侦听KeyEvent都不起作用?还有其他输入法。如果您想要收到有关文本更改的通知,则应始终使用DocumentListener。像汤姆说的那样,在这种情况下,DocumentFilter是正确的选择。 – Carlos 2010-09-10 15:30:01