From 52bbbd6181d155cb32ae764d7c4daeaa9ee47b43 Mon Sep 17 00:00:00 2001 From: Jona Walpert Date: Thu, 19 Mar 2026 14:21:43 +0100 Subject: [PATCH] Fix: buttons now change their size relative to screen size --- .../client/ui/lobbyui/LobbyButtonGridManager.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/lobbyui/LobbyButtonGridManager.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/lobbyui/LobbyButtonGridManager.java index f8dbb11..2c4ab64 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/lobbyui/LobbyButtonGridManager.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/client/ui/lobbyui/LobbyButtonGridManager.java @@ -68,8 +68,18 @@ public class LobbyButtonGridManager { int buttonId = entry.getKey(); Button btn = new Button(); btn.setId("lobbyBtn-" + buttonId); - btn.setGraphic( - new ImageView(new Image(getClass().getResourceAsStream(BUTTON_IMAGE_PATH)))); + ImageView imageView = new ImageView(new Image(getClass().getResourceAsStream(BUTTON_IMAGE_PATH))); + imageView.setPreserveRatio(true); + // Dynamische Breite: Bindung an die Zellengröße + imageView.fitWidthProperty().bind(gridPane.widthProperty().divide(COLS).subtract(20)); + imageView.setSmooth(true); + btn.setGraphic(imageView); + btn.setMaxWidth(Double.MAX_VALUE); + btn.setMaxHeight(Double.MAX_VALUE); + btn.setMinWidth(10); + btn.setMinHeight(10); + GridPane.setHgrow(btn, javafx.scene.layout.Priority.ALWAYS); + GridPane.setVgrow(btn, javafx.scene.layout.Priority.ALWAYS); btn.setOnAction( e -> { Integer lobbyId = translationManager.getLobbyIdForButton(buttonId);