【发布时间】:2023-07-07 12:00:01
【问题描述】:
我开发了一个 Java FX 应用程序,并使用 CSS 进行样式设置。 该应用程序对几乎所有内容都使用默认颜色,所以我发现只需在 .css 中添加一个更暗的底色:
/* DarkTheme*/
.root {
-fx-base: rgba(60, 60, 60, 255);
}
我得到了一个深色的主题效果,所有的颜色都会相应地调整。 实际上,我只是找不到通过添加#setStyle 来以编程方式执行此操作的方法:
1) 我应该使用什么节点 setStyle 开启?此规则将影响所有节点。
2) 我要传递给什么字符串 setStyle? 我假设:
<node>.setStyle("-fx-base: rgba(60, 60, 60, 255);"); //dark theme
<node>.setStyle("-fx-base: <something>"); //back to light def. theme
3) 一旦我找到了正确的元素,如果我想回去,我会怎么做? 我是否需要再次调用 set style 并传递基色(我需要从一些元数据中提取?),或者我可以以某种方式删除之前添加的样式?**
最终结果应该是一个允许在深色和浅色主题之间快速切换的控件(按钮、radiob、..)。
【问题讨论】: