我目前正在使用Javafx中的自定义单元工厂来使用css设置表格视图的单元格/行的样式。这是成功的,我确切地需要它。我想知道是否有另一种方式来设置表格视图的行。
我想用css动态调整整行,而不是逐个单元格。一些行将是不同的颜色等。字体填充,背景颜色,字体大小等。没有什么花哨的。
答案 0 :(得分:3)
您可以在表格上使用rowFactory
来生成行,并操纵行的样式类或附加到行的伪类。然后使用外部样式表来应用样式。
e.g。
PseudoClass foo = PseudoClass.getPseudoClass("foo");
table.setRowFactory(tv -> {
TableRow<MyDataType> row = new TableRow<>();
row.itemProperty().addListener((obs, oldItem, newItem) -> {
if (/* some condition on newItem */) {
row.pseudoClassStateChanged(foo, true);
} else {
row.pseudoClassStateChanged(foo, false);
}
});
return row ;
});
然后
.table-row-cell {
/* your regular style settings here */
}
.table-row-cell:foo {
/* your specific style for when foo is set here */
}