【问题标题】:JavaFX2: What is the best way to style an individual TreeItem?JavaFX2:设置单个 TreeItem 样式的最佳方式是什么?
【发布时间】:2012-06-04 02:05:28
【问题描述】:

我希望能够将 CSS 类添加到 TreeItem,然后只使用 CSS 文件为其赋予样式。但这是不可能的,不是吗?

有没有办法像我们使用 getStyleClass() 一样添加一个类?

如果没有,为单个项目赋予样式的最佳方法是什么?

【问题讨论】:

    标签: css treeview javafx-2


    【解决方案1】:

    为项目赋予样式的最佳方式是使用样式表,限制使用 Node.setStyle。

    您可能想知道为什么?

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

    【讨论】:

    • 是的,我的意思是使用样式表。但问题是:如何将样式类分配给没有“getStyleClass()”函数的节点?就像 TreeItem 或 TableColumn 等一样。
    【解决方案2】:

    嗯...跳出框框思考!您无法设置 treeitem 和 tablerow 的样式,因为它们基本上充当其他节点的容器形式,因此为您的 treeitem(或 tablerow)上的节点设置一个类,然后设置它们的样式。对不起,我还不能添加 cmets

    【讨论】:

    • 感谢您的想法。如果我有某种方法可以手动刷新列表,这将起作用。就像现在一样,除非可观察值发生变化,否则节点只会在开始时刷新一次。我已经在 J​​ira 中提交了一个功能请求,该请求已被接受。
    【解决方案3】:

    使用 TreeCellFactory ,并在工厂中使用 Node 并设置其样式,通过 getStyle 或通过 Node.setStyleClass 更好。

    【讨论】:

    • 这就是我所做的。但正如我告诉@Bruno 的那样,它一开始只被调用一次
    猜你喜欢
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2022-12-12
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多