2

我在 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 文档中的示例 15-2进行了尝试,得到了同样令人不满意的结果。

我无法在网上找到任何解决方案,因为所有问题似乎都与 TreeViews 或 TableViews 相关,而不是组合的 TreeTableView。因此,任何指向正确文档的提示或链接都会非常有帮助!

提前致谢!

PS:我知道可以通过更改超链接的颜色来解决问题,但是必须有一种方法可以更改单元格的颜色,对吗?

4

1 回答 1

6

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

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

在此处输入图像描述

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

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

在此处输入图像描述

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

.tree-table-row-cell:selected > .tree-table-cell{
    /*enter style rules here*/
}
于 2017-08-23T08:58:06.527 回答