改变JavaFX treeview背景和文本颜色的简单方法

6

这似乎是非常简单的事情,我刚接触JavaFX,但我无法更改JavaFX TreeView(添加到GridPane中)的背景和文本颜色。我已经使用填充了TreeItem的根节点初始化了TreeView构造函数。

在.css文件中:

.myTree {
   -fx-font: 12px Tahoma;
   -fx-stroke: #eeeeee;
   -fx-background-color: #0a0a0a;
   -fx-text-fill: #ffffff;
   }

在代码中。
 treeView.getStyleClass().add("myTree"); 

字体集已设置,但没有其他变化。我似乎找不到任何人更改树视图背景的例子 - 大多数人对选择和悬停进行花式更改。有什么想法吗?

2个回答

9

设置单元格的背景颜色:

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

啊!谢谢,这下好了,我不知道有tree-cell标签,这开启了许多其他好的东西! - thefog
1
单元格默认是不透明的,因此即使您更改了“TreeView”的背景,也无法透过单元格看到它。 - James_D
带我去一些好东西,比如: .myTree .tree-cell:selected { -fx-background-color: #cccccc; -fx-text-fill: #000000; -fx-border-color: #ff0000; } - thefog
如果您尚未了解,请查看CSS文档。请务必注意“还从...继承属性”部分。 - James_D

1
如果您只想简单地摆脱难看的白色树形背景,可以在场景构建器中这样做。
  1. 在树形视图上放置一个“区域”。 这将正确调整大小。
  2. 确保该区域位于顶部(发送到最前面)。
  3. 设置区域的颜色。 (深色,如蓝色)。
    i. 使用-fx-background-color:darkblue
  4. 将不透明度设置为约0.15
  5. 将mouseTransparency设置为true。
  6. 完成!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接