Ich versuche, das Hintergrundbild eines Bereichs zu ändern, wenn die App maximiert ist. Mein Hintergrund wird mit Inline-CSS festgelegt. Ich habe zwei verschiedene Variablen und eine if-Anweisung für den Stil eingerichtet. Es gelingt mir jedoch nicht, den Stil zu ändern.
String cssStyle = "-fx-background-image: url(\'file:images/poker_table.png\');" + "-fx-background-position: center center;" + "-fx-background-radius: 15;" + // ************* For rounded corners "-fx-background-size: 100% 100%;"; String cssStyle2 = "-fx-background-image: url(\'file:images/poker_table.jpg\');" + "-fx-background-position: center center;" + "-fx-background-radius: 15;" + "-fx-background-size: 100% 100%;"; if (!primaryStage.isMaximized()) { gameScreen.setStyle(cssStyle); } else { gameScreen.setStyle(cssStyle2); }
只需向舞台的
maximizedProperty()
添加一个侦听器即可。属性和侦听器是 JavaFX API 的基本部分:您可以在 标准文档,或任何好的 JavaFX 教程。您可能还需要立即使用已有的代码设置适当的样式。
如果您愿意,也可以使用绑定:
绑定可以替换您已有的代码;它会立即应用,并且在
maxmizedProperty
发生变化时应用。