Saya cuba menukar imej latar belakang anak tetingkap apabila apl dimaksimumkan. Latar belakang saya ditetapkan menggunakan css sebaris. Saya menyediakan dua pembolehubah berbeza dan pernyataan if untuk gaya. Walau bagaimanapun, saya tidak bernasib baik untuk menukar gaya.
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); }
Hanya tambahkan pendengar ke pentas
maximizedProperty()
. Sifat dan pendengar ialah bahagian asas API JavaFX: anda boleh menemuinya dalam dokumentasi standard, atau mana-mana tutorial JavaFX yang bagus.Anda juga mungkin mahu menetapkan gaya yang sesuai dengan segera menggunakan kod sedia ada.
Anda juga boleh menggunakan binding jika anda lebih suka:
Pengikatan menggantikan kod sedia ada anda; ia digunakan serta-merta dan apabila
maxmizedProperty
berubah.