From 2d2711b15c54bc42958c2f5b294570d41e840287 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 27 Nov 2019 09:32:52 +0100 Subject: [PATCH] Optimize CreateGame view creation and manage errors of integer in a field --- .../java/client/main/controller/FXCreateGame.java | 12 ++++++++++++ src/main/java/client/main/controller/FXHome.java | 12 +++++++----- src/main/java/client/main/fxml/createGame.fxml | 4 +--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main/java/client/main/controller/FXCreateGame.java b/src/main/java/client/main/controller/FXCreateGame.java index 8f61ca0..ad14f69 100644 --- a/src/main/java/client/main/controller/FXCreateGame.java +++ b/src/main/java/client/main/controller/FXCreateGame.java @@ -1,6 +1,7 @@ package main.java.client.main.controller; import javafx.fxml.Initializable; +import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.TextField; import main.java.client.ClientApp; @@ -45,6 +46,9 @@ public class FXCreateGame implements Initializable { @FXML private Text errorFields; + @FXML + private Text errorFieldsInteger; + public FXCreateGame(){ this.model = ClientApp.mainCore.getFX().getModel(); @@ -60,6 +64,9 @@ public class FXCreateGame implements Initializable { errorFields.setVisible(false); errorFields.setFill(Color.RED); + errorFieldsInteger.setVisible(false); + errorFieldsInteger.setFill(Color.RED); + chatCombo.getItems().setAll("Oui", "Non"); chatCombo.getSelectionModel().selectedItemProperty().addListener( new ChangeListener() { @@ -103,6 +110,7 @@ public class FXCreateGame implements Initializable { createGame(); break; case "createGameButtonClose": + this.stage = (Stage)((Node)e.getSource()).getScene().getWindow(); FXHome fxHome = new FXHome(); fxHome.initialize("../fxml/home.fxml", this.stage); break; @@ -132,9 +140,13 @@ public class FXCreateGame implements Initializable { System.out.println(chat + " " + spectators + " " + colorWhite + " " + limitMove); ClientApp.mainCore.getMainToData().newGame(userLight, spectators, chat, colorWhite, limitMove, scene); + } catch (NumberFormatException e) { + errorFieldsInteger.setVisible(true); } catch (Exception e) { if (this.chatCombo.getValue() == null || this.spectatorsCombo.getValue() == null || this.colorCombo.getValue() == null || this.createGameTextFieldLimitMove.getText().trim().isEmpty()){ errorFields.setVisible(true); + } else { + System.out.println(e); } } diff --git a/src/main/java/client/main/controller/FXHome.java b/src/main/java/client/main/controller/FXHome.java index a2e877d..773de0f 100644 --- a/src/main/java/client/main/controller/FXHome.java +++ b/src/main/java/client/main/controller/FXHome.java @@ -1,5 +1,7 @@ package main.java.client.main.controller; +import javafx.scene.Node; +import javafx.scene.Parent; import javafx.scene.layout.Border; import main.java.client.ClientApp; import main.java.client.main.model.MainApplicationModel; @@ -67,11 +69,11 @@ public class FXHome { fxProfileConsult.initialize("../fxml/viewProfile.fxml", this.stage); break; case "homeButtonCreateGame": - BorderPane layout = FXMLLoader.load( - new URL(FXHome.class.getResource("../fxml/createGame.fxml").toExternalForm()) - ); - stage.setScene(new Scene(layout)); - stage.show(); + FXMLLoader loader = new FXMLLoader(getClass().getResource("../fxml/createGame.fxml")); + Parent padre = loader.load(); + Scene switcher = new Scene(padre); + this.stage = (Stage)((Node)e.getSource()).getScene().getWindow(); + this.stage.setScene(switcher); break; case "homeDeconnection": FXConnection fxConnection = new FXConnection(); diff --git a/src/main/java/client/main/fxml/createGame.fxml b/src/main/java/client/main/fxml/createGame.fxml index 1c48a3c..e805516 100644 --- a/src/main/java/client/main/fxml/createGame.fxml +++ b/src/main/java/client/main/fxml/createGame.fxml @@ -7,11 +7,8 @@ - - - @@ -57,6 +54,7 @@ + -- GitLab