Fixed: Maximize(windows)

This commit is contained in:
rubenpirreram
2026-05-18 18:47:27 +02:00
parent 99523beb05
commit 559fca34e1
2 changed files with 30 additions and 15 deletions
@@ -77,6 +77,8 @@ public class GUI extends Application implements IView {
mainScene = new Scene(loaderMain.load());
controllerMain = loaderMain.getController();
showLogin();
stage.setTitle("Mesos");
primaryStage.setMaximized(true);
@@ -99,42 +101,46 @@ public class GUI extends Application implements IView {
this.controller=controller;
}
public void applyAndRender(NetworkEvent event) {
Platform.runLater(() -> {
event.apply(miniModel);
if (controller.miniModel.currentState.getGameStage() == TOTEM_CHOICE) {
controllerTotem.render();
primaryStage.setScene(totemScene);
primaryStage.setMaximized(true);
}
else if (controller.miniModel.currentState.getGameStage() == GameStages.ENDED) {
controllerLeaderboard.render();
controllerTotem.render();
} else if (controller.miniModel.currentState.getGameStage() == GameStages.ENDED) {
boolean sceneChange = primaryStage.getScene() != leaderboardScene;
primaryStage.setScene(leaderboardScene);
primaryStage.setMaximized(true);
if (sceneChange) {
primaryStage.setMaximized(false);
Platform.runLater(() -> primaryStage.setMaximized(true));
}
controllerLeaderboard.render();
} else {
controllerMain.render(event);
boolean sceneChange = primaryStage.getScene() != mainScene; // ← era un'altra scena?
primaryStage.setScene(mainScene);
primaryStage.setMaximized(true);
if (sceneChange) {
primaryStage.setMaximized(false);
Platform.runLater(() -> primaryStage.setMaximized(true));
}
controllerMain.render(event);
}
});
}
public void render() {
if (!Platform.isFxApplicationThread()) {
Platform.runLater(this::render);
return;
}
if (controller.miniModel.currentState.getGameStage() == TOTEM_CHOICE) {
controllerTotem.render();
primaryStage.setScene(totemScene);
primaryStage.setMaximized(true);
controllerTotem.render();
} else {
controllerMain.render();
primaryStage.setScene(mainScene);
primaryStage.setMaximized(true);
controllerMain.render();
}
}
@Override
public void showMessage(String message) {
@@ -95,6 +95,10 @@ public class MainFXMLController {
// ==== RENDER ====
public void render() {
if (mainHBox.getWidth() == 0 || mainHBox.getHeight() == 0) {
Platform.runLater(() -> render());
return;
}
renderUpper();
renderBoard();
renderLower();
@@ -103,6 +107,10 @@ public class MainFXMLController {
}
public void render(NetworkEvent event) {
if (mainHBox.getWidth() == 0 || mainHBox.getHeight() == 0) {
Platform.runLater(() -> render(event));
return;
}
if (event.getEventType() == EventType.SLOT_CHOICE) {
renderBoard();
renderSidePanel();
@@ -323,9 +331,10 @@ public class MainFXMLController {
if (!cardList.isEmpty()) {
StackPane img = createCard(cardList.getLast(), true, true, parent);
Label label = new Label(String.valueOf(cardList.size()));
label.setTranslateY(-55);
label.setTranslateX(10);
label.getStyleClass().add("label-large");
StackPane.setAlignment(label, Pos.TOP_RIGHT);
StackPane.setMargin(label, new Insets(8, 8, 0, 0));
img.getChildren().add(label);
img.setOnMouseClicked(e -> openPopup(new ArrayList<>(cardList)));
parent.getChildren().add(img);