Таблица стилей по умолчанию загружается только в том случае, если создан элемент управления (т. Е. Экземпляр Control
или один из его подклассов).(Идея заключается в том, чтобы избежать снижения производительности при загрузке CSS для приложений, которые управляют всей своей собственной графикой и не используют никаких элементов управления, таких как игры или симуляции.)
Таблица стилей по умолчанию устанавливает цвет фонакорневого узла (splashPane
в вашем примере) до очень светло-серого (в частности, он на 26,4% ярче, чем цвет #ececec
).
Поскольку текстовая область является единственным элементом управления в вашемсоздание класса вызывает загрузку таблицы стилей по умолчанию, которая задает очень светло-серый цвет фона splashPane
.
Если вам нужно создать элементы управления и хотите, чтобы фон панели былпрозрачный, необходимо указать, что во внешнем CSS:
splashStyle.css
:
.root {
-fx-background-color: transparent ;
}
и
@Override
public void start(Stage primaryStage) throws Exception {
splashScene.setFill(Color.TRANSPARENT);
splashScene.getStylesheets().add("splashStyle.css");
primaryStage.setScene(splashScene);
primaryStage.initStyle(StageStyle.TRANSPARENT);
primaryStage.show();
}
(как быстрая проверка того, что это будет работать, вы можете просто проверить с
splashPane.setStyle("-fx-background-color: transparent; ");
)