2012-05-29 157 views
0

我本来希望能够将一个CSS类添加到TreeItem中,然后只需使用一个CSS文件来赋予其风格。但这是不可能的,或者是?JavaFX2:设计单个TreeItem的最佳方式是什么?

有没有像我们可以使用getStyleClass()一样添加类的方法?

如果不是,给个别物品一种风格的最佳方法是什么?

回答

1

给样式添加项目的最佳方式是使用样式表,限制使用Node.setStyle。

你可能想知道为什么?

原因是表现。计算样式值被缓存。所有匹配相同选择器的节点都可以共享计算值。

+0

是的,我打算使用样式表。但问题是:如何将一个样式类分配给没有“getStyleClass()”功能的节点?与TreeItem或TableColumn等情况一样。 – betaman

1

呃......在箱子外面思考!您不能对treeitem和tablerow进行样式设置,因为它们基本上作为其他节点的容器形式,因此请为您的treeitem(或tablerow)上的节点设置一个类,然后对它们进行样式设置。我很抱歉的回答,但我还不能添加评论

+0

感谢您的想法。这将工作,如果我有一些手动刷新列表的方式。就像现在一样,除非可观察值发生变化,否则节点只会在开始时刷新一次。我已经在Jira提交了一个已被接受的功能请求。 – betaman

1

使用TreeCellFactory,并在工厂中使用Node并通过getStyle设置它的样式,或者通过Node.setStyleClass设置样式。

+0

这就是我所做的。但正如我告诉@布鲁诺,它刚刚在开始时被称为一次 – betaman

相关问题