-1
触发事件我有附加这样的Keylistener
一个JTextfield
:的KeyListener不JTextField中
field.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
log.debug("KEY PRESSED");
}
@Override
public void keyTyped(KeyEvent e) {
log.debug("KEY TYPED");
}
@Override
public void keyReleased(KeyEvent e) {
log.debug("KEY RELEASED");
}
});
但是当我键入某些键我可以看到keyReleased
并不总是射击。我不能键入任何键直接事后,如果它不火,我必须再次点击进入该文本字段或键入另一个键获得释放事件触发(输入的密钥不是在文本字段中显示)。我没有使用Keys做任何事情,没有事件被消耗。感觉就像事件被随机发射一样。同样的情况与KeyListener
,而不是KeyAdapter
:
field.addKeyListener(new KeyListener() {
我使用Linux 64位,但这也发生在Win8中和Win10 64位。还尝试了不同的键盘和不同的电脑。
我怎样才能得到事件触发正确?当我按例如箭头键发生
有
不要使用'KeyListener'与文本组件,请使用'DocumentListener'而不是 – MadProgrammer
哪些键会导致问题?当您在文本字段中注册“KeyListener”时,键入的键必须位于文本字段中。例如。 'TAB'可能会将焦点转移到下一个组件上。 – hotzst
@hotzst它发生在任何包括数字的a-z键上。 –