Когда я обновил приложение JavaFX от JavaFX 2 до JavaFX 8, я заметил, что ScrollPanes всегда отображался как серые прямоугольники, даже если набор фоновых цветов или набор фона был прозрачным.
ScrollPanes в JavaFX 8 всегда имеют серый фон
Ответ 1
Я нашел решение в этом обсуждении: https://community.oracle.com/thread/3538169
Сначала мне это нужно:
.scroll-pane > .viewport {
-fx-background-color: transparent;
}
Тогда я мог бы установить цвет фона в любое удобное для меня время. В этом случае я делаю все фон ScrollPane прозрачным:
.scroll-pane {
-fx-background-color: transparent;
}
Ответ 2
Как только это произошло, он не работает с -fx-background-color, но с -fx-background
.scroll-pane {
-fx-background: #FFFFFF;
-fx-border-color: #FFFFFF;
}
Ответ 3
Подход к источнику:
После добавления к сцене/сцене вы можете отключить свойство width или height, чтобы получить доступ к стилю области просмотра.
ScrollPane myPane = new ScrollPane();
myPane.widthProperty().addListener((o) -> {
Node vp = logMessagePane.lookup(".viewport");
vp.setStyle("-fx-background-color:#434547;");
});