为什么我的keyreleased事件没有效果?

owfi6suc  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(221)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

22小时前关门了。
改进这个问题
我目前正在开发一个javafx突破游戏,并且已经建立了一个移动系统,当我使用public userkeyinteraction方法按下左箭头键和右箭头键时,可以设置 bat 对象的速度。这个方法似乎工作良好,但我也有一个按键释放的方法,当用户不再按下任何一个箭头,不仅是这个方法对 bat 没有影响(它不会停止时,按键释放),但按键释放事件是没有被检测到。

public void keyReleased(KeyEvent event)
{
   Debug.trace("released");
   switch(event.getCode())
   {
      case LEFT:
         model.setBatVel(0);
         break;
      case RIGHT:
         model.setBatVel(0);
         break;
   }
}

正如您在上面所看到的,我使用debug.trace将单词“released”打印到终端,每当释放一个键时,终端在任何时候都不会显示该消息,因此显然从未检测到keyreased事件。抱歉,如果这是一个明显的答案,我从来没有使用过java之前,我觉得有点困惑,如果我是诚实的。

fzwojiic

fzwojiic1#

请尝试:setfocustraversable(true)和requestfocus();在你看来
代码如下:

imageView = new ImageView();
imageView.setFocusTraversable(true);
imageView.requestFocus();

相关问题