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 に答える