Как стилизовать css в чекбоксе, используя setStyle () - PullRequest
0 голосов
/ 28 октября 2018

Позвольте мне быть кратким.

Итак.Я знаю, что вы можете оформить .box CheckBox в css как:

.check-box > .box {
    -fx-background-color: white;
}

, но я не уверен, как это сделать.Пожалуйста, просто предоставьте пример кода.Спасибо.

1 Ответ

0 голосов
/ 28 октября 2018

Встроенные стили применяются только к самому узлу, а не к дочерним.Вы не сможете напрямую стилизовать дочерние элементы, используя встроенные стили, если только вы не захотите использовать lookup для доступа к дочернему узлу.Это работает только после создания скина, что обычно происходит непосредственно перед первым проходом макета, что может сделать это проблематичным, если вы хотите сделать это из fxml / controller initialize.

modena.css содержит следующеедекларации для .box потомка (не) сфокусированного CheckBox es, хотя:

-fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color;
-fx-background-color: -fx-focus-color, -fx-inner-border, -fx-body-color, -fx-faint-focus-color, -fx-body-color;

т.е. он содержит искомые цвета, которые являются унаследованнымиот родителя и, следовательно, может быть назначен с помощью встроенного CSS на CheckBox:

checkBox.setStyle("-fx-body-color: red;");
...