【发布时间】:2017-05-08 18:59:18
【问题描述】:
当我最小化我的舞台时,JavaFX 不会触发我的 KeyPressed 事件。 最小化 Stage 时如何收听 KeyEvent?
这里我称之为我的舞台:
public void start(Stage primaryStage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Gui.fxml"));
Parent root = fxmlLoader.load();
primaryStage.setTitle("KillSwitch");
primaryStage.setScene(new Scene(root));
primaryStage.getScene().getRoot().requestFocus();
primaryStage.show();
}
这就是事件处理器:
public void handleKeyInput(javafx.scene.input.KeyEvent event) throws InterruptedException, SerialPortException, IOException {
if (event.getCode() == KeyCode.UP) {
handletriggerButton();
}
}
【问题讨论】:
-
你不能,至少不使用某种挂钩到本机代码。例如,如果用户将其最小化并开始在他们的文字处理器中输入,您是否真的希望您的应用程序能够响应?
-
@James_D 你有本地代码的例子吗?用户应该使用 Gui 校准程序,而不是最小化它并使用键控制它。
-
不:我从来没有这样做过。但是让一个视觉上不活动的程序响应任意按键对我来说听起来很危险——在许多情况下,用户可能完全没有意识到他们正在控制这个应用程序。
标签: events javafx keyevent stage minimized