Изменить цвет выделения для JavaFX TreeTableView
У меня небольшие проблемы с FX, CSS и TreeTableView. У меня есть клетки, содержащие синие гиперссылки. Теперь, если ячейка выбрана, фон становится синим, и, таким образом, ссылка становится практически невидимой. Теперь я хотел бы изменить цвет фона выделенных ячеек, используя таблицы стилей.
Для TreeView хорошо работает следующее:
.tree-view .tree-cell:selected{
-fx-background-color: green;
}
Так аналогично я попробовал:
.tree-table-view .tree-table-cell:selected{
-fx-background-color: green;
}
Но это не имело никакого эффекта. Удивительно, но мне удалось изменить общий цвет фона с помощью этого:
.tree-table-view .tree-table-cell{
-fx-background-color: yellow;
}
Теперь все ячейки были желтыми, но это, кажется, перекрывает шаблон выбора по умолчанию, поскольку теперь даже выделенные строки имели желтый фон.
Для меня кажется, что селектор состояния не применяется к ячейкам TreeTableView, но я понятия не имею, как добиться этого другим способом.
Я также попробовал это с примером 15-2 из документации JavaFX, получив тот же неудовлетворительный результат.
Мне не удалось найти какое-либо решение в Интернете, так как все вопросы касаются TreeViews или TableViews, но не объединенного TreeTableView. Так что любая подсказка или ссылка на нужный документ будет очень полезна!
Заранее спасибо!
PS: я знаю, что можно обойти проблему, изменив цвет гиперссылки, но должен быть способ изменить цвет ячейки, верно?
1 ответ
Вы можете использовать .tree-table-row-cell
селектор с -fx-background-color
собственность, которую вы упомянули:
.tree-table-row-cell:selected {
-fx-background-color: green;
}
и вы также можете изменить цвет границы, чтобы лучше соответствовать цвету заполнения:
.tree-table-row-cell:selected {
-fx-background-color: green;
-fx-table-cell-border-color: green;
}
Вы можете применить больше стилей к базовой ячейке таблицы, используя:
.tree-table-row-cell:selected > .tree-table-cell{
/*enter style rules here*/
}