Изменить цвет шрифта выбранной ячейки дерева в JavaFX
У меня есть JavaFX TreeView
и хотите изменить цвет шрифта выбранной ячейки на черный, чтобы она выглядела как невыбранная ячейка. (Я старался setSelectionModel(null)
но это приводит к ошибкам.) Ячейки имеют прозрачный фон на фоновом изображении, если это имеет значение.
CSS:
.tree-view, .tree-cell {
-fx-font: 20px "Segoe Print";
-fx-background-color: transparent;
}
.tree-cell {
-fx-background-color: transparent;
-fx-padding: 0 0 0 0;
-fx-text-fill: #000000;
}
.tree-cell:focused {
-fx-text-fill: #000000;
}
.tree-cell:selected {
-fx-text-fill: #000000;
}
.tree-cell .tree-disclosure-node {
-fx-background-color: transparent;
-fx-padding: 10 10 0 40;
}
.button {
-fx-padding: 0 10 0 10;
}
Результат: (выбрано "test4")
Кажется, что он должен установить цвет шрифта для выбранных ячеек на черный, но это не происходит. Файл CSS загружается и используется (например, шрифт правильный, и я также изменил другие вещи), так что это не проблема.
2 ответа
Решение
Если вы просто хотите, чтобы прозрачный фон и выбранные ячейки выглядели так же, как и невыбранные ячейки, вы можете сделать следующее:
.tree-view {
-fx-text-background-color: black ;
-fx-background-color: transparent ;
-fx-selection-bar: transparent ;
}
Установите цвет фона на ячейки:
.myTree .tree-cell {
-fx-background-color: #0a0a0a ;
-fx-text-fill: #ffffff ;
}