JavaFX将键绑定到按钮

时间:2017-04-04 05:58:31

标签: java javafx

所以我在舞台上有这个按钮:

COALESCE

现在我希望在按下Enter键时触发它,但是如何?

1 个答案:

答案 0 :(得分:0)

拳头,在你的按钮上设置一个hanlder:

myButton.setOnAction(e -> {       
       ......
});

如果按钮具有焦点,按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) {
           myButton.fire();
           ev.consume(); 
        }
    });

} 如果您只有一个此类按钮,则可以使用

myButton.setDefaultButton(true);