基本上,我有一个okayButton
位于a中stage
,当它被点击时,它会执行一系列任务.现在我想将Enter
键绑定到此按钮,以便在单击它或按下ENTER键时,它会执行任务列表.
okayButton.setOnAction(e -> {
.........
}
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?我已经阅读了以下帖子.然而,它并没有帮助我实现我想做的事情.
Dic*_*ici 21
首先,在按钮上设置一个hanlder:
okayButton.setOnAction(e -> {
......
});
Run Code Online (Sandbox Code Playgroud)
如果按钮具有焦点,则按Enter将自动调用此处理程序.否则,您可以在您的start
方法中执行此操作:
@Override
public void start(Stage primaryStage) {
// ...
Node root = ...;
setGlobalEventHandler(root);
Scene scene = new Scene(root, 0, 0);
primaryStage.setScene(scene);
primaryStage.show();
}
private void setGlobalEventHandler(Node root) {
root.addEventHandler(KeyEvent.KEY_PRESSED, ev -> {
if (ev.getCode() == KeyCode.ENTER) {
okayButton.fire();
ev.consume();
}
});
}
Run Code Online (Sandbox Code Playgroud)
如果您只有一个此类按钮,则可以使用以下方法.
okayButton.setDefaultButton(true);
Run Code Online (Sandbox Code Playgroud)