Как отмечено в комментариях (благодаря @ Slaw ), свойство -fx-text-fill
по умолчанию не наследуется, поэтому установка его для панели root не позволит распространяться вниз до метки в вашем интерфейсе. Возможное исправление будет состоять в том, чтобы определить свойство, скажем, .label
, но лучший подход состоит в том, чтобы подключиться к функциональности "тематика" таблицы стилей по умолчанию ("modena"). Следует признать, что документация по этому вопросу довольно тонкая, но чтение комментариев в исходном коде CSS , особенно в верхней части файла, показывает, как это должно работать.
Модена определяет «искомый цвет», называемый -fx-text-background-color
, который используется для текста, нарисованного поверх фона, заполненного -fx-background-color
. A Label
- это такой текст, и таблица стилей по умолчанию устанавливает текстовую заливку метки на -fx-text-background-color
.
Таким образом, один из подходов заключается в переопределении значения -fx-text-background-color
:
.root{
-fx-font-family: "Broadway";
-fx-font-size: 50pt;
-fx-text-background-color: blue;
}
Если вы хотите быть немного более изощренным, значение по умолчанию -fx-text-background-color
на самом деле является «лестницей», которая выбирает цвет в зависимости от интенсивности фона. Само по себе оно определяется тремя другими цветами:
-fx-light-text-color
(для темного фона, который по умолчанию белый), -fx-mid-text-color
(для светлого фона, который по умолчанию до светло-серого) и -fx-dark-text-color
(для средних фонов, по умолчанию черный).
Так что если вы хотите решение, которое было бы визуально устойчивым к изменениям в фон метки, вы можете сделать
.root{
-fx-font-family: "Broadway";
-fx-font-size: 50pt;
-fx-dark-text-color: navy ;
-fx-mid-text-color: blue ;
-fx-light-text-color: skyblue ;
}