【问题标题】:Java: keyPressed events not firing when game is opened through application classJava:通过应用程序类打开游戏时未触发 keyPressed 事件
【发布时间】:2018-04-18 05:05:48
【问题描述】:

我正在用 java 制作游戏,我想将它提取到一个可运行的 Jar 中。为了使这成为可能,我制作了这个课程:

public class AfterglowApp extends Application {
    public void start(Stage primaryStage) throws IOException {
        FXMLLoader fxmlLoader = new FXMLLoader(AfterglowApp.class.getResource("afterglow.fxml"));
        Pane root = fxmlLoader.load();
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(AfterglowApp.class, args);
    }
}

在我的 FXML 控制器中,我有一个 keyListener,它在 keyPressed 上触发 FXML 文件中的锚窗格。当我通过 Eclipse 将它作为 FXML 应用程序运行时,这可以正常工作,但是当我使用应用程序类运行它时,没有按键注册(尽管它仍然正常注册鼠标点击)。

我感觉 FXML 文件的锚窗格失去焦点,这就是导致它无法注册按键的原因,但我不知道如何解决这个问题(如果这甚至是问题)。

我意识到我可能缺少一些愚蠢的东西,但任何帮助将不胜感激。

【问题讨论】:

    标签: java javafx focus fxml keypress


    【解决方案1】:

    我是对的,这是一件非常简单的事情。我所要做的就是打电话给

    .requestFocusInWindow();
    

    应用程序启动后在我的锚窗格上。很抱歉浪费了所有阅读本文的人的时间。万一其他人遇到类似情况,我会留下这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多