是否可以通过查找来控制非色域的值?

时间:2017-10-13 15:19:07

标签: 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-color thumb-area-border-color ,负责颜色,从代码中完美更改并且处理没有错误:

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

但不处理字段半径 thumb-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

删除文件和日期的路径。

是否可以使用查找来控制非颜色字段的值,或者如果没有这样的选项,如何更好地从代码中以编程方式更改这些值而不覆盖< strong> css 字段(例如 setStyle 用于 thumbArea 来自 css 类的所有值缩略图区域丢失了)

使用 setStyle 以编程方式创建所有字段的方式不适合

1 个答案:

答案 0 :(得分:0)

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