JavaFX将键绑定到按钮 [英] JavaFX bind key to button

查看:671
本文介绍了JavaFX将键绑定到按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

So I have this button on my stage:

    @FXML

public void generateButton(ActionEvent event) {

    String fingerprint = fingerprintText.getText().toLowerCase();
    String erg = Verifier.getDdProUnlockPIN(fingerprint);
    pinField.setText(erg);
    copyText = erg;
    log.info("Pin " + erg + "wird generiert");
}

现在我希望在按下Enter键时触发它,但是怎么样?

Now I want it to be triggered when the Enter Key is being pressed, but how?

推荐答案

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

Fist, set a hanlder on your button :

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

如果按钮具有焦点,按Enter将自动调用此处理程序。否则,您可以在start方法中执行此操作:

If the button has the focus, pressing Enter will automatically call this handler. Otherwise, you can do this in you start method :

@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(); 
        }
    });

}
如果你只有一个这样的按钮,你可以改用

} If you have only one button of this kind, you can use instead

myButton.setDefaultButton(true);

这篇关于JavaFX将键绑定到按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆