当前位置: 首页 > 知识库问答 >
问题:

JAVAFX:是否可以通过代码设置css?

齐凯康
2023-03-14

我有以下代码:

.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%
);}

可以用代码设置吗?如果是,怎么做?

我想按代码设置,因为我想解决另一个问题,请单击此处

一个人告诉我使用lookup get selector,但它返回null。

下面的代码就是我所做的?你能告诉我怎么了吗?

Node bar = progress.lookup(".bar"); 

任何帮助都将不胜感激。

共有1个答案

马冯浩
2023-03-14

可以使用查找来获取节点,然后调用setStyle()。

查找不是很健壮,通常在css应用到场景图之前不会工作(即返回null)。这通常发生在第一次渲染过程中。因此,至少需要在舞台显示后执行此操作。您可能会发现需要将其包装在Platform.run稍后(...)才能使其工作。

如果您只想更改背景颜色,并且需要动态更改,请考虑使用查找颜色。

比如:

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);

我不知道这是否适用于你的动画,但值得一试。。。

 类似资料:
  • 问题内容: 我知道通过应用boolean属性将输入元素设为只读,并且该属性不受CSS的影响。 另一方面,我的情况似乎非常适合CSS,因此我希望可以使用某种CSS技巧来实现。我的表格上有 可打印的版本 超链接。单击它会显示文档的可打印版本。它主要是CSS东西,我的print.css看起来像这样: 还有一些javascript片段,例如: 将类添加到html元素 显示没有滚动条的表 其他一些小事情,例

  • 我试图针对H2数据库运行jOOQ代码生成器,但遇到以下异常: 我已经核实了数据库确实存在。我怀疑这是由于区分大小写处理不匹配造成的: jOOQ引用所有模式对象的名称,作为指定case instivity的一种方法。。。但是, H2使用引号强制区分大小写 我知道如何以编程方式指定渲染设置来使用生成的工件(构建查询等),但在这种情况下,我正在寻找一种方法来指定代码生成器配置中的这些设置。 提前谢谢!

  • 我计划开发一个基于web的聊天应用程序,它接收ReSTful请求,将它们转换为XMPP,并将它们发送到XMPP服务器。 在这种基于聊天的应用程序中使用WebSocket看起来很有希望,因为事件(或响应)可以异步传递。但是,如果我使用WebSocket作为从浏览器传输请求的底层协议,这仍然可以被视为ReSTful设计吗?如果是的话,URI、动词(GET、POST…)是怎样的,websocket消息中

  • 是否可以根据错误状态代码在spring retry(https://github.com/spring-projects/spring-retry)中设置RetryPolicy?例如,我想用重试状态代码503。因此,它应该忽略所有其他错误代码--[500-502]和[504-511]。

  • 问题内容: 如何从HashMap的位置检索元素,这有可能吗? 问题答案: HashMap不保留排序: 此类无法保证地图的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。 看一下LinkedHashMap,它保证了可预测的迭代顺序。

  • 我明白在Android(8.0)启动器图标上的通知徽章会在收到通知时自动显示。不幸的是,一旦他们打开或取消通知,徽章将被删除。我想知道的是,应用程序本身是否可以直接告诉系统显示徽章?我想显示它时,他们有未读消息内的应用程序。 我知道Android的一些第三方启动器和制造商变体确实提供了额外的徽章功能,然而,我指的是香草Android和股票启动器。 非常感谢。