更改JavaFX TreeTableView

时间:2017-08-23 07:57:34

标签: java css javafx treetableview javafx-css

我对FX,CSS和TreeTableView有点麻烦。 我有包含蓝色超链接的单元格。现在,如果选择了单元格,则背景变为蓝色,因此链接几乎不可见。我现在想使用样式表更改所选单元格的背景颜色。

对于TreeView,以下工作正常:

.tree-view .tree-cell:selected{
    -fx-background-color: green;
}

类似地,我尝试过:

.tree-table-view .tree-table-cell:selected{
    -fx-background-color: green;
}

但这没有效果。 令人惊讶的是,虽然我能够改变一般的背景颜色:

.tree-table-view .tree-table-cell{
    -fx-background-color: yellow;
}

细胞现在都是黄色的,但这似乎覆盖了默认的选择模式,因为现在即使选定的行也有黄色背景。

对我来说,似乎状态选择器不适用于TreeTableView单元格,但我不知道如何以另一种方式实现。

我也尝试使用JavaFX文档中的Example 15-2,得到了同样不令人满意的结果。

我无法在网络上找到任何解决方案,因为所有问题似乎都与TreeViews或TableViews有关,但与组合的TreeTableView无关。因此,任何提示或链接到正确的文档将非常有用!

提前致谢!

P.S: 我知道可以通过改变超链接的颜色来解决问题但是必须有办法改变单元格的颜色,对吗?

1 个答案:

答案 0 :(得分:6)

您可以将.tree-table-row-cell选择器与您提到的-fx-background-color属性一起使用:

.tree-table-row-cell:selected {
    -fx-background-color: green;
}

enter image description here

您还可以更改边框颜色以更好地适应填充颜色:

.tree-table-row-cell:selected {
    -fx-background-color: green;
    -fx-table-cell-border-color: green;
}

enter image description here

您可以使用以下方法将更多样式应用于基础表格单元格:

.tree-table-row-cell:selected > .tree-table-cell{
    /*enter style rules here*/
}
相关问题