Изменить цвет шрифта выбранной ячейки дерева в 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 ;
  }  
Другие вопросы по тегам