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