From 2ea3eeecc3abb47881dc567488b8f8cfda13fcfb Mon Sep 17 00:00:00 2001 From: Nikollai Date: Tue, 19 May 2026 16:10:22 +0200 Subject: [PATCH] Added text input prevention for number input fields in StartView --- src/main/java/millions/view/StartView.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/millions/view/StartView.java b/src/main/java/millions/view/StartView.java index ffccb6f..f03ac4f 100644 --- a/src/main/java/millions/view/StartView.java +++ b/src/main/java/millions/view/StartView.java @@ -7,6 +7,7 @@ import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; +import javafx.scene.control.TextFormatter; import javafx.scene.layout.VBox; import javafx.stage.FileChooser; import javafx.stage.Stage; @@ -37,11 +38,23 @@ public StartView(Stage stage) { startingAmountField .textProperty() .addListener((obs, oldVal, newVal) -> checkStartButtonValid()); + startingAmountField.setTextFormatter(new TextFormatter<>(change -> { + if (change.getControlNewText().matches("([0-9]*)?")) { + return change; + } + return null; + })); // Pre run weeks to run simulated weeks before the player starts preRunWeeksField = new TextField("12"); preRunWeeksField.setPromptText("Pre run weeks:"); preRunWeeksField.setMaxWidth(250); preRunWeeksField.textProperty().addListener((obs, oldVal, newVal) -> checkStartButtonValid()); + preRunWeeksField.setTextFormatter(new TextFormatter<>(change -> { + if (change.getControlNewText().matches("([0-9]*)?")) { + return change; + } + return null; + })); filepickerButton = new Button(); filepickerButton.setText("Pick file");