gpt4 book ai didi

java - 我可以使用 setStyle() 直接更改节点的子结构类样式吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:43:27 26 4
gpt4 key购买 nike

我有一个实现自定义 ProgressBar 的对象。有时我希望小节的轨道为白色,有时我希望它为黑色。我发现可以使用以下命令在我的 .css 文件中为其设置默认值:

.my-bar .track {
-fx-background-color: bar-default-color;
}

我希望我可以根据传入的值设置在构造函数中改变颜色。但是尽管谷歌搜索我还没有找到一个示例,其中 Node.setStyle() 用于更改子结构类的样式。直接在 ProgressBar 对象上调用 setStyle("-fx-background-color: desired-color") 会创建与我想要的不匹配的奇怪颜色。我确定那是因为我需要将它设置在 .track 子结构而不是父类上。那么如何通过代码访问和更改它呢?

最佳答案

您可以使用lookup( )ProgressBar 中提取样式类为.track 的节点|在它上面然后应用样式:

final Node track = progressBar.lookup(".track");
track.setStyle("-fx-background-color: desired-color");

关于java - 我可以使用 setStyle() 直接更改节点的子结构类样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31058128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com