gpt4 book ai didi

Java KeyEvent 比较 - arg0 是否等于特定键

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:31:29 24 4
gpt4 key购买 nike

我创建了一个新的 KeyListener,定义如下:

...
public void keyTyped(KeyEvent arg0) {
if (arg0.equals(KeyEvent.VK_ENTER) || (arg0.equals(KeyEvent.VK_R))) {
System.out.println("Enter or R key typed.");
} else {
System.out.println("Something else typed.");
}
}
...

我真正想做的是每次输入 Enter 键或“R”时调用一个方法。

我的问题:无论我输入什么,都不会触发 if 情况。它总是跳转到其他情况。这种行为的原因是什么?

最佳答案

要将输入与 KeyEvent.xxx 值进行比较,您需要使用 the getKeyCode method ,当您捕获 keyPressedkeyReleased 事件时返回 int - 然后您可以将值与 KeyEvent.xxx。如果你想使用 keyTyped 事件,你可以使用 getKeyChar 方法,但它不会捕获一些键(例如 Action 键或修改键) - 例如这应该有效:

public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER || e.getKeyCode() == KeyEvent.VK_R) {
System.out.println("Enter or R key typed.");
} else {
System.out.println("Something else typed.");
}
}

关于Java KeyEvent 比较 - arg0 是否等于特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10434670/

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