web-dev-qa-db-fra.com

ScrollPane dans JavaFX 8 a toujours un fond gris

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.

34
Jon Onstott

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;
}
70
Jon Onstott

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;
}
14
user3190916

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;");
    });
0
CircuitMonkey