gpt4 book ai didi

Java KeyListener 的 keyReleased 左右箭头键不调用

转载 作者:行者123 更新时间:2023-12-01 11:19:51 25 4
gpt4 key购买 nike

我有一个实现 KeyListener 的 KeyHandler 类。除了左箭头键和右箭头键之外的所有键都可以工作,它们记录为按下但从未释放(向上和向下箭头可以工作,就像所有其他键一样)。键监听器被添加到 JFrame 上的 Canvas 中。

public class KeyHandler implements KeyListener {

public void keyPressed(KeyEvent e) {
System.out.println("Pressed");
}

public void keyReleased(KeyEvent e) {
System.out.println("Released");
}

public void keyTyped(KeyEvent e) {}

}

这种行为有原因吗?

最佳答案

来自 java api 的片段 - Keyevent:

Not all keyboards or systems are capable of generating all virtual key codes. No attempt is made in Java to generate these keys artificially.

所以从 Java 端来看,它仍然是定义的行为。然而,从我的逻辑感觉来看,我也无法给你上/下和左/右箭头键之间的任何区别。只要我们遵循 API 定义即可。这似乎与系统有关。

关于Java KeyListener 的 keyReleased 左右箭头键不调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com