添加按钮后JavaFX键盘输入停止工作

Crossoni

我正在将游戏引擎构建为学校项目。当我将按钮添加到与画布所在的组相同的组时,我再也无法通过键盘控制播放器。按钮和其他所有功能仍然正常运行。

我的代码非常庞大,因此这是问题的简化代码:

public abstract class GEngine extends Application {

    public void start(Stage theStage) throws Exception {
        try {
            this.stage = theStage;

            Group root = new Group();

            Scene theScene = new Scene(root);
            stage.setScene(theScene);

            Canvas canvas = new Canvas(windowWidth, windowHeight);
            root.getChildren().add(canvas);

            Button btn = new Button("new");
            btn.setOnMousePressed(e->System.out.println("press"));
            root.getChildren().add(btn);

            Timeline gameLoop = new Timeline();
            gameLoop.setCycleCount(Timeline.INDEFINITE);

            // Handle input
            theScene.setOnKeyPressed(Input::handlePressed);
            theScene.setOnKeyReleased(Input::handleReleased);

            // Control game loop and it's speed
            KeyFrame kf = new KeyFrame(
                Duration.seconds(0.017),                // 60 FPS
                (e)->this.controlGameLoop());

            gameLoop.getKeyFrames().add( kf );
            gameLoop.play();

            stage.show();
        } catch (Exception e) {
            e.printStackTrace();
            stop();
        }
    }
}

背景可能发生了一些我不了解的事情。如果有人希望看到我的Input类代码,我也可以显示它,但是据我了解,这不是必需的。

我尝试使用AnchorPane作为主根,并为按钮和画布创建一个单独的组,将它们添加到AnchorPane中,但这根本没有帮助。那几乎是我可以从Google找到的唯一提供的解决方案。

Crossoni

添加btn.setFocusTraversable(false);固定的问题,这要归功于Luxusproblem提供答案!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

鼠标和键盘停止工作,键盘输入上的Num锁定闪烁

来自分类Dev

停止键盘输入?

来自分类Dev

固定按钮在滚动后停止工作

来自分类Dev

添加 SSD 后 Gnome 停止工作

来自分类Dev

在Javafx中从数据库填充表视图后,按钮停止工作

来自分类Dev

PC的键盘,鼠标和塔式电源按钮停止工作

来自分类Dev

一些键盘按钮停止工作[linux]

来自分类Dev

隐藏软键盘后,OnKeyListener停止工作

来自分类Dev

Logitech无线键盘在随机间隔后停止工作

来自分类Dev

键盘和触摸板在睡眠后停止工作

来自分类Dev

单击按钮后,应用程序停止工作

来自分类Dev

按钮模板-IsMouseOver在执行IsPressed后停止工作

来自分类Dev

单击按钮后应用程序停止工作

来自分类Dev

单击按钮后应用程序停止工作

来自分类Dev

附加 li child(按钮)后功能停止工作

来自分类Dev

模拟android键盘输入的按钮

来自分类Dev

更改xkb后无法从键盘输入

来自分类Dev

表单提交添加.htaccess文件后停止工作

来自分类Dev

添加/ r循环后,批处理脚本停止工作

来自分类Dev

添加href后,“ text-indent”停止工作

来自分类Dev

添加div后jquery函数停止工作

来自分类Dev

添加.submit(function(){}后,JQuery Ajax停止工作

来自分类Dev

添加 PrettyFaces 后,Primefaces 文件上传停止工作

来自分类Dev

添加CSS时,Javascript文本输入清除按钮在Bootstrap中停止工作。有什么建议吗?

来自分类Dev

登录后键盘和鼠标停止工作(从16.04升级后,Ubuntu 17.04)

来自分类Dev

13.10屏幕键盘突然停止工作

来自分类Dev

13.10屏幕键盘突然停止工作

来自分类Dev

硬件音频键盘键停止工作

来自分类Dev

为什么我的键盘停止工作?

Related 相关文章

热门标签

归档