Fix: login button

Fix: windows fullscreen on and off
This commit is contained in:
2026-06-02 19:41:21 +02:00
parent 11f21fcf78
commit a3cac111ad
2 changed files with 14 additions and 26 deletions
@@ -9,6 +9,7 @@ import javafx.application.Platform;
import javafx.fxml.FXMLLoader; import javafx.fxml.FXMLLoader;
import javafx.geometry.Rectangle2D; import javafx.geometry.Rectangle2D;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.input.KeyCombination;
import javafx.stage.Screen; import javafx.stage.Screen;
import javafx.stage.Stage; import javafx.stage.Stage;
@@ -61,24 +62,29 @@ public class GUI extends Application implements IView {
loaderLeaderboard = new FXMLLoader(getClass().getResource("/GUIScene/standing.fxml")); loaderLeaderboard = new FXMLLoader(getClass().getResource("/GUIScene/standing.fxml"));
leaderboardScene = new Scene(loaderLeaderboard.load()); leaderboardScene = new Scene(loaderLeaderboard.load());
controllerLeaderboard = loaderLeaderboard.getController(); controllerLeaderboard = loaderLeaderboard.getController();
controllerLeaderboard.setController(controller,()->{ controllerLeaderboard.setController(controller, () -> {
controllerLogin.updateLoginButton(true);
primaryStage.setScene(loginScene); primaryStage.setScene(loginScene);
controllerLogin.showError(""); controllerLogin.showError("");
primaryStage.setFullScreen(true); }, loginScene);
},loginScene);
primaryStage.setScene(loginScene); primaryStage.setScene(loginScene);
primaryStage.setFullScreen(true);
Rectangle2D tmp = Screen.getPrimary().getVisualBounds(); Rectangle2D tmp = Screen.getPrimary().getVisualBounds();
primaryStage.setWidth(tmp.getWidth()); primaryStage.setWidth(tmp.getWidth());
primaryStage.setHeight(tmp.getHeight()); primaryStage.setHeight(tmp.getHeight());
primaryStage.setX(tmp.getMinX()); primaryStage.setX(tmp.getMinX());
primaryStage.setY(tmp.getMinY()); primaryStage.setY(tmp.getMinY());
primaryStage.setResizable(false); primaryStage.setResizable(false);
primaryStage.setFullScreenExitHint("");
primaryStage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
primaryStage.fullScreenProperty().addListener((obs, was, isNow) -> {
if (!isNow) Platform.runLater(() -> primaryStage.setFullScreen(true));
});
primaryStage.setTitle("Mesos"); primaryStage.setTitle("Mesos");
primaryStage.setOnCloseRequest(e -> { primaryStage.setOnCloseRequest(e -> {
@@ -86,6 +92,7 @@ public class GUI extends Application implements IView {
System.exit(0); System.exit(0);
}); });
primaryStage.show(); primaryStage.show();
Platform.runLater(() -> primaryStage.setFullScreen(true));
} }
@@ -100,37 +107,19 @@ public class GUI extends Application implements IView {
public void render() { public void render() {
Platform.runLater(() -> { Platform.runLater(() -> {
boolean toFull=false;
synchronized (miniModel) { synchronized (miniModel) {
if (controller.miniModel.currentState.getGameStage() == TOTEM_CHOICE) { if (controller.miniModel.currentState.getGameStage() == TOTEM_CHOICE) {
if (primaryStage.getScene()!=leaderboardScene) {
toFull=true;
}
controllerTotem.render(); controllerTotem.render();
primaryStage.setScene(totemScene); primaryStage.setScene(totemScene);
} else if (controller.miniModel.currentState.getGameStage() == ENDED) { } else if (controller.miniModel.currentState.getGameStage() == ENDED) {
if (primaryStage.getScene()!=leaderboardScene) {
toFull=true;
}
controllerLeaderboard.render(); controllerLeaderboard.render();
primaryStage.setScene(leaderboardScene); primaryStage.setScene(leaderboardScene);
} else { } else {
if (primaryStage.getScene()!=mainScene) {
toFull=true;
}
//double w = primaryStage.getWidth();
//double h = primaryStage.getHeight();
primaryStage.setScene(mainScene); primaryStage.setScene(mainScene);
controllerMain.render(); controllerMain.render();
} }
if (toFull) {
primaryStage.setFullScreen(true);
}
} }
}); });
} }
@Override @Override
public void showMessage(String message) { public void showMessage(String message) {
@@ -140,11 +129,10 @@ public class GUI extends Application implements IView {
@Override @Override
public void showError(ErrorType error,String message) { public void showError(ErrorType error,String message) {
Platform.runLater(() -> { Platform.runLater(() -> {
if(error==ErrorType.SERVER_CRASHED){ if (error == ErrorType.SERVER_CRASHED) {
primaryStage.setScene(loginScene); primaryStage.setScene(loginScene);
controllerLogin.showError(error); controllerLogin.showError(error);
primaryStage.setFullScreen(true); } else {
}else {
synchronized (miniModel) { synchronized (miniModel) {
controllerMain.isError = true; controllerMain.isError = true;
controllerMain.render(); controllerMain.render();
@@ -112,7 +112,7 @@ public class LoginFXMLController {
}).start(); }).start();
} }
private void updateLoginButton(boolean enabled) { public void updateLoginButton(boolean enabled) {
btnAccedi.setDisable(!enabled); btnAccedi.setDisable(!enabled);
btnAccedi.setStyle( btnAccedi.setStyle(
"-fx-font-family: 'Cinzel'; -fx-font-size: 12; -fx-font-weight: bold;" + "-fx-font-family: 'Cinzel'; -fx-font-size: 12; -fx-font-weight: bold;" +