访问Tornadofx中CSS属性的默认值

时间:2019-10-22 18:36:32

标签: kotlin tornadofx

我想在Tornadofx应用程序中访问默认颜色,例如-fx-focus-color。此属性是在默认CSS(例如,modena.css)中预定义的。

我尝试使用focusColor属性访问该属性,该属性为null,因此在显式设置之前,在访问该属性时会引发强制转换异常。

此外,我还尝试通过unsafe函数和raw来设置属性,该方法可以工作,但解决方案不理想。

我可以这样覆盖-fx-focus-color

class MyStyle : StyleSheet() {
    init {
        "*" {
            focusColor = c("red")   
        }
    }
}

但未设置该属性时,我无法访问该属性:

class MyStyle : StyleSheet() {
    init {
        label {
            backgroundColor = focusColor // error because not initialized
        }
    }
}

通过unsafe设置属性:

unsafe("-fx-border-color", raw("-fx-accent")) // works but is cumbersome

0 个答案:

没有答案