java - 是否可以通过查找来控制非颜色字段的值?

标签 java css javafx

CSS

主类切换开关:

.toggle-switch {
    radius: 16;

    thumb-area-background-color: rgba(255, 255, 255, 1);
    thumb-area-border-width: 2;
    thumb-area-border-color: #d9d9d9;
}

和子类拇指区域:

.thumb-area {
    -fx-background-radius: radius;
    -fx-border-radius: radius;

    -fx-background-color: thumb-area-background-color;
    -fx-border-width: thumb-area-border-width;
    -fx-border-color: thumb-area-border-color;   
}

字段thumb-area-background-colorthumb-area-border-color,负责颜色,从代码中完美更改并且处理没有错误:

toggleSwitch.setStyle("thumb-background-color: " + getRGBAString(color));
toggleSwitch.setStyle("thumb-area-background-color: " + getRGBAString(color));

但是字段 radiusthumb-area-border-width 没有被处理!当我启动程序时,控制台显示:

WARNING: Caught 'java.lang.ClassCastException: java.lang.Double cannot be cast to com.sun.javafx.css.Size' while converting value for '-fx-background-radius' from rule '*.thumb-area' in stylesheet file:/...
*date* javafx.scene.CssStyleHelper calculateValue

WARNING: Caught 'java.lang.ClassCastException: java.lang.Double cannot be cast to com.sun.javafx.css.Size' while converting value for '-fx-border-radius' from rule '*.thumb-area' in stylesheet file:/...
*date* javafx.scene.CssStyleHelper calculateValue

WARNING: Caught 'java.lang.ClassCastException: java.lang.Double cannot be cast to com.sun.javafx.css.Size' while converting value for '-fx-border-width' from rule '*.thumb-area' in stylesheet file:/...
*date* javafx.scene.CssStyleHelper calculateValue

文件路径和日期已删除。

是否可以使用查找来控制非颜色字段的值,或者如果没有这样的选项,如何更好地从代码中以编程方式更改这些值而不覆盖css字段(例如,当使用setStyle作为thumbArea时,来自cssthumb-area的所有值都会丢失)

使用setStyle以编程方式设置所有字段的方式适合。

最佳答案

看起来 radius 被存储为 Double 而不是 Size,这正是 -fx-background-radius 所期望的。 尝试 radius: 16px; 看看效果是否更好?

关于java - 是否可以通过查找来控制非颜色字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46733115/

相关文章:

java - 获取 Fasterxml Jackson ArrayNode 的子数组

java - 如何在 Java 中替换字符串的一部分?

html - 在 bootstrap 4.0 的一行中,图像不是按列堆叠的

html - 被绝对位置 div 裁剪的 float 元素

java - JavaFX-插入从音频文件获取的媒体标签后,ArrayLists打印为空

java - 是否有任何支持 C 预处理器的 Java IDE?

java - 在 Java 中使用 Selenium 选择随机值

javascript - div样式随动画变化?

java - 接口(interface)和节点的存储和使用

JavaFX 模态阶段在 MAC 上表现异常