Цвет текста строки просмотра таблицы Java не изменяется с помощью псевдо-класса
Мне нужно показать только несколько строк с красным текстом в виде таблицы, но без результата!
Мой код:
PseudoClass pClass = PseudoClass.getPseudoClass("warn");
myTable.setRowFactory(new Callback<TableView<MyData>, TableRow<MyData>>() {
@Override
public TableRow<MyData> call(TableView<MyData> param) {
return new TableRow<MyData>() {
@Override
protected void updateItem(MyData item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
return;
}
setItem(item);
pseudoClassStateChanged(pClass, item.getWarning());
}
};
}
});
CSS
.table-view .table-row-cell .text{
-fx-fill: black;
}
.table-view .table-row-cell .text:warn{
-fx-fill: red;
}
Может кто-нибудь рассмотреть это или предложить какой-то более простой способ?
1 ответ
Вы устанавливаете псевдокласс на TableRow
не на .text
узлы. Поэтому селектор псевдокласса должен сочетаться с селектором, выбирающим TableRow
, а не с помощью селектора, выбирающего текстовый элемент:
.table-view .table-row-cell:warn .text {