From dc1e448c26d3712e51f5d1e4b1d45016165e9e0e Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Sat, 23 May 2026 20:51:15 +0200 Subject: [PATCH] Added: newGame button, first-impl, no-resizable, newGame can be done better , (say set root) --- src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java | 9 ++++----- .../ingsw/gc14/View/GUI/LeaderboardFXMLController.java | 10 ++++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java b/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java index 93634b1..65a19c1 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java @@ -45,12 +45,11 @@ public class GUI extends Application implements IView { private ClientController controller; - public GUI(Stage stage) { - this.primaryStage = stage; - } @Override public void start(Stage stage) throws Exception { + this.primaryStage = stage; + primaryStage.setResizable(false); loaderLogin = new FXMLLoader(getClass().getResource("/GUIScene/login.fxml")); loginScene = new Scene(loaderLogin.load()); controllerLogin = loaderLogin.getController(); @@ -73,7 +72,7 @@ public class GUI extends Application implements IView { loaderLeaderboard = new FXMLLoader(getClass().getResource("/GUIScene/standing.fxml")); leaderboardScene = new Scene(loaderLeaderboard.load()); controllerLeaderboard = loaderLeaderboard.getController(); - controllerLeaderboard.setController(controller); + controllerLeaderboard.setController(controller,primaryStage,loginScene); mainScene = new Scene(loaderMain.load()); controllerMain = loaderMain.getController(); @@ -81,7 +80,7 @@ public class GUI extends Application implements IView { showLogin(); - stage.setTitle("Mesos"); + primaryStage.setTitle("Mesos"); primaryStage.setMaximized(true); primaryStage.setOnCloseRequest(e -> { Platform.exit(); diff --git a/src/main/java/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.java b/src/main/java/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.java index 62d3f4a..e49a6c9 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.java @@ -6,6 +6,7 @@ import javafx.animation.ScaleTransition; import it.polimi.ingsw.gc14.Model.PlayableCard; import javafx.event.Event; import javafx.fxml.FXML; +import javafx.scene.Scene; import javafx.scene.control.ScrollPane; import javafx.stage.Popup; import javafx.geometry.Insets; @@ -23,6 +24,7 @@ import javafx.scene.paint.LinearGradient; import javafx.scene.paint.Stop; import javafx.scene.paint.CycleMethod; import javafx.scene.text.Font; +import javafx.stage.Stage; import javafx.stage.Window; import javafx.util.Duration; @@ -42,6 +44,8 @@ public class LeaderboardFXMLController { // Cache condivisa con MainFXMLController private static final Map imageCache = new HashMap<>(); + private Scene loginScene; + private Stage primaryStage; private Image loadImage(String path) { return imageCache.computeIfAbsent(path, @@ -49,8 +53,10 @@ public class LeaderboardFXMLController { } - public void setController(ClientController controller) { + public void setController(ClientController controller, Stage primaryStage, Scene loginScene) { this.controller = controller; + this.loginScene=loginScene; + this.primaryStage=primaryStage; } @@ -356,6 +362,6 @@ public class LeaderboardFXMLController { // ==== ACTIONS ==== @FXML private void onNewGame() { - //controller.requestNewGame(); + primaryStage.setScene(loginScene); } }