JavaFX的绑定键按钮
问题描述:
所以,我有我的舞台按钮:JavaFX的绑定键按钮
@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");
}
现在我想,当被按下的键,但如何将它输入被触发?
答
拳,设置你的按钮hanlder:
myButton.setOnAction(e -> {
......
});
如果按钮具有焦点,按回车键就会自动调用这个处理程序。否则,你可以做到这一点,就启动方法:
@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);
相关:[使用JavaFX 2.2助记符(HTTP ://*.com/questions/12710468/using-javafx-2-2-mnemonic)。请注意,相关的答案是关于加速器而不是助记符。加速器很适合基于常规组合键生成动作,但我不知道为输入键设置加速键是一个好主意,因为回车键也用于多行文本字段中的新行,并且我不会不知道在这种情况下输入键加速器的行为。 – jewelsea