1,为什么在重写KeyPressed方法里对backspace键consume会生效,
在KeyTyped方法里对backspace键consume没用,当按下backspace键,还是会删除
2,
//给文本框添加事件
tf.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
//如果你取得的字符不是数字字符,就取消事件
//先取得字符,判断字符,取消事件
char ch=e.getKeyChar();
System.out.println(ch);
if(!(ch>='0'&&ch<='9')) {
e.consume();//不会产生事件
}
}
});
3,如果是上面这种,当按backspace键,没有反应,没有事件响应
4,若是下面这种,当按backspace键,会有事件响应,会删除内容
//给文本框添加事件
tf.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
//如果你取得的字符不是数字字符,就取消事件
//先取得字符,判断字符,取消事件
char ch=e.getKeyChar();
System.out.println(ch);
if(!(ch>='0'&&ch<='9')) {
e.consume();//不会产生事件
}
}
});