JavaFX TableView CellFactory

时间:2017-12-04 21:24:38

标签: javafx tableview

我有一个带有一些记录的TableView,并希望根据属性设置单元格的背景颜色(例如,如果ID == 5,则设置颜色)。

基本上有效。

See Image 1

x

但是当我开始向上和向下滚动几次时, 不同的细胞也会得到背景颜色。 这不是我想要的行为。

Wrong cells with background color

我在macOS 10.13.1 / Java 1.8.0_151上测试了这个 和OpenJDK的Debian。

https://github.com/glueckandi/test_fx.git

我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试将样式设置为null""空字符串。

if (p.getId() == 5)
{
    setStyle("-fx-background-color: #CBDBD7;");    
}
else
{
    setStyle("");
}

else
{
    setText(null);
    setStyle("");
}