在JavaFX中更改树单元格选择的字体颜色

时间:2016-06-11 06:55:37

标签: java css javafx treeview treecell

我有一个JavaFX TreeView,想要将所选单元格的字体颜色更改为黑色,使其看起来像一个非选定的单元格。 (我试过setSelectionModel(null),但这会引发错误。)如果重要的话,单元格在背景图像上有透明背景。

CSS:

.tree-view, .tree-cell {
    -fx-font: 20px "Segoe Print";
    -fx-background-color: transparent;
}

.tree-cell {
    -fx-background-color: transparent;
    -fx-padding: 0 0 0 0;
    -fx-text-fill: #000000;
}

.tree-cell:focused {
    -fx-text-fill: #000000;
}

.tree-cell:selected {
    -fx-text-fill: #000000;
}

.tree-cell .tree-disclosure-node {
    -fx-background-color: transparent;
    -fx-padding: 10 10 0 40;
}

.button {
    -fx-padding: 0 10 0 10;
}

结果:(" test4"被选中)

Result: ("test4" is selected)

这似乎应该将所选单元格的字体颜色设置为黑色,但它没有发生。 CSS文件已加载并正在使用(例如,字体是正确的,我也修改了其他内容),因此不是问题。

2 个答案:

答案 0 :(得分:0)

在单元格上设置背景颜色:

 .myTree .tree-cell {
  -fx-background-color: #0a0a0a ;
  -fx-text-fill: #ffffff ;
  }  

答案 1 :(得分:0)

如果您只想要透明背景并且所选单元格与非选定单元格显示相同,则可以执行以下操作:

.tree-view {
    -fx-text-background-color: black ;
    -fx-background-color: transparent ;
    -fx-selection-bar: transparent ;
}