1

我只需要在表格视图中显示几行带有红色文本的行,但没有结果!

我的代码:

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; 
}

任何人都可以审查它或提出一些更简单的方法吗?

4

1 回答 1

1

您在 上设置伪类TableRow,而不是在.text节点上。因此,伪类选择器需要与选择 的选择器结合TableRow,而不是与选择文本元素的选择器结合:

.table-view .table-row-cell:warn .text {
于 2016-06-30T08:52:07.137 回答