gpt4 book ai didi

java - 如何使用 Java Swing 检测击键的释放?

转载 作者:行者123 更新时间:2023-12-01 22:38:52 25 4
gpt4 key购买 nike

我在获取一些检测击键释放的代码时遇到一些问题。我正在编写一个视频游戏,我想通过按下按键来启动图标的移动,并在释放按键后终止移动。我读过其他人关于此问题的帖子,他们似乎说处理此问题的方法是在 keyReleased 代码中设置一个标志,该标志将终止我假设您在 keyPressed 代码中启动的运动。但是,我假设您必须将 Thread.Sleep 放入 KeyPressed 代码中才能允许 KeyReleased 代码触发(这将设置标志)?否则控制永远不会从 KeyPressed 代码返回到调度循环?

无论如何,这是我无法开始工作的代码,它应该释放键“a”。

MoveGunLeftActionReleased aKeyActionReleased= new MoveGunLeftActionReleased();

statusPanel.getInputMap().put(KeyStroke.getKeyStroke("released a"), "aCharKeyReleased");

statusPanel.getActionMap().put("aCharKeyReleased", aKeyActionReleased);

…...

static class MoveGunLeftActionReleased extends AbstractAction
{
public void actionPerformed(ActionEvent rf) {
System.out.println("RELEASED");
aKeyReleased= true;
}
}

对象:aKeyActionReleased 永远不会执行。

我做错了什么?

最佳答案

KeyStroke.getKeyStroke("released a")

这不是正确的格式。应该是:

KeyStroke.getKeyStroke("released A")

如果您需要更多帮助,请发布适当的SSCCE这说明了问题。

关于java - 如何使用 Java Swing 检测击键的释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492153/

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