我試圖在應用程式最大化時更改窗格的背景圖像。我的背景是使用內嵌 css 設定的。我為樣式設定了兩個不同的變數和一個 if 語句。但是,我沒有運氣讓它改變樣式。
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
發生變化時套用。