From 2da9c29a39de79edb3a9339b744f871fc27ff41f Mon Sep 17 00:00:00 2001 From: Bixilon Date: Fri, 27 Nov 2020 14:21:22 +0100 Subject: [PATCH] JFXDialog: handle ENTER KeyCode event (to submit) --- .../de/bixilon/minosoft/gui/main/AccountWindow.java | 12 ++++++++++++ .../de/bixilon/minosoft/gui/main/MainWindow.java | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/de/bixilon/minosoft/gui/main/AccountWindow.java b/src/main/java/de/bixilon/minosoft/gui/main/AccountWindow.java index e32d487e1..bfff0d48b 100644 --- a/src/main/java/de/bixilon/minosoft/gui/main/AccountWindow.java +++ b/src/main/java/de/bixilon/minosoft/gui/main/AccountWindow.java @@ -29,6 +29,7 @@ import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Label; import javafx.scene.control.MenuItem; +import javafx.scene.input.KeyCode; import javafx.scene.layout.BorderPane; import javafx.scene.layout.GridPane; import javafx.stage.Window; @@ -110,6 +111,17 @@ public class AccountWindow implements Initializable { Window window = dialog.getDialogPane().getScene().getWindow(); window.setOnCloseRequest(windowEvent -> window.hide()); + + dialog.getDialogPane().setOnKeyReleased(keyEvent -> { + if (keyEvent.getCode() != KeyCode.ENTER) { + return; + } + if (emailField.getText().trim().isEmpty()) { + return; + } + loginButton.fire(); + }); + dialog.showAndWait(); } } diff --git a/src/main/java/de/bixilon/minosoft/gui/main/MainWindow.java b/src/main/java/de/bixilon/minosoft/gui/main/MainWindow.java index 48033e274..c5af7af3a 100644 --- a/src/main/java/de/bixilon/minosoft/gui/main/MainWindow.java +++ b/src/main/java/de/bixilon/minosoft/gui/main/MainWindow.java @@ -218,6 +218,15 @@ public class MainWindow implements Initializable { Log.info(String.format("%s and saved server (serverName=%s, serverAddress=%s, version=%d)", ((server == null) ? "Added" : "Edited"), serverName.getLegacyText(), serverAddress, desiredVersionId)); dialog.hide(); }); + dialog.getDialogPane().setOnKeyReleased(keyEvent -> { + if (keyEvent.getCode() != KeyCode.ENTER) { + return; + } + if (serverAddressField.getText().trim().isEmpty()) { + return; + } + submitButton.fire(); + }); dialog.showAndWait(); }