JAVAFX:可以通过代码设置css吗?
我有以下代码:JAVAFX:可以通过代码设置css吗?,javafx,Javafx,我有以下代码: .progress-bar > .bar { -fx-background-color: linear-gradient( from 0em 0.75em to 0.75em 0px, repeat, -fx-accent 0%, -fx-accent 49%, derive(-fx-accent, 30%) 50%, derive(-fx-accent, 30%) 99% );} 是否可以通过代码进行设置?如果是,
.progress-bar > .bar {
-fx-background-color: linear-gradient(
from 0em 0.75em to 0.75em 0px,
repeat,
-fx-accent 0%,
-fx-accent 49%,
derive(-fx-accent, 30%) 50%,
derive(-fx-accent, 30%) 99%
);}
是否可以通过代码进行设置?如果是,怎么做
我想通过代码设置,因为我想解决另一个问题
一个人告诉我使用查找获取选择器,但它返回null
下面的代码就是我所做的?你能告诉我怎么了吗
Node bar = progress.lookup(".bar");
任何帮助都将不胜感激。您可以使用查找获取节点,然后调用setStyle() 查找不是很可靠,通常在css应用于场景图之前不起作用(即返回null)。这通常发生在第一次渲染过程中。因此,作为最低要求,您需要在舞台展示后执行此操作。您可能会发现需要将其包装在一个Platform.runLater(…)中才能使其工作
如果你只想改变背景颜色,并且需要动态地做,考虑使用一个查找颜色代替。 比如:
css文件:.progress-bar {
my-bar-color: linear-gradient(
from 0em 0.75em to 0.75em 0px,
repeat,
-fx-accent 0%,
-fx-accent 49%,
derive(-fx-accent, 30%) 50%,
derive(-fx-accent, 30%) 99%
);}
.progress-bar > .bar {
-fx-background-color: my-bar-color ;
}
现在在Java中,您可以
String color = ... ;
progress.setStyle("my-bar-color: "+color);
我不知道这是否适用于你的动画,但值得一试