Lorsque j'ai mis à niveau l'application JavaFX de JavaFX 2 vers JavaFX 8, j'ai remarqué que ScrollPanes apparaissait toujours sous forme de rectangles gris, même avec un jeu de couleurs d'arrière-plan ou le jeu d'arrière-plans transparent.
J'ai trouvé la solution dans cette discussion: https://community.Oracle.com/thread/3538169
J'ai d'abord eu besoin de ça:
.scroll-pane > .viewport {
-fx-background-color: transparent;
}
Ensuite, je pouvais définir la couleur d'arrière-plan comme je le souhaitais. Dans ce cas, je rend tous les arrière-plans ScrollPane transparents:
.scroll-pane {
-fx-background-color: transparent;
}
Je suis tombé sur cela tout à l'heure, cela ne fonctionne pas avec - - fx-background-color, mais c'est avec - - fx-background
.scroll-pane {
-fx-background: #FFFFFF;
-fx-border-color: #FFFFFF;
}
Approche en source:
Une fois qu'il est ajouté à la scène/scène, vous pouvez déclencher la propriété width ou height pour accéder au style de la fenêtre.
ScrollPane myPane = new ScrollPane();
myPane.widthProperty().addListener((o) -> {
Node vp = logMessagePane.lookup(".viewport");
vp.setStyle("-fx-background-color:#434547;");
});