我是Kolin和TornadoFX的新手,目前正在尝试一些功能。
我想使用JFoenix-Library并使用TornadoFX的类型安全CSS功能设置其控件的样式。但是在给定JFoenix控件的CSS类的情况下,我不知道如何修改样式。
例如,JFXDecorator具有默认的CSS类jfx-decorator
。要更改标题栏的背景颜色,我必须修改jfx-decorator-buttons-container
类。如何使用TornadoFX做到这一点?在.css文件中,我只会使用
.jfx-decorator-buttons-container {
-fx-background-color: red;
}
TornadoFX有可能吗?
最佳答案
您提到了jfx-decorator
和jfx-decorator-buttons-container
类,但是您的示例CSS使用了jfx-decorator-buttons
和container
类。我不确定您真正想要的类,但是我将添加后者,因为这将根据您的示例生成CSS。
class Styles : Stylesheet() {
companion object {
val jfxDecoratorButtons by cssclass()
val container by cssclass()
}
init {
jfxDecoratorButtons and container {
backgroundColor += Color.RED
}
}
}
更新:您更改了问题中的代码,因此这是将产生该输出的更新版本:
class Styles : Stylesheet() {
companion object {
val jfxDecoratorButtonsContainer by cssclass()
}
init {
jfxDecoratorButtonsContainer {
backgroundColor += Color.RED
}
}
}
驼峰式选择器会自动转换为带连字符的小写字母。您还可以在
cssclass
委托(delegate)函数中指定确切的名称:val myCssClass by cssclass("my-slightly-different-css-class")
还要注意,由于
backgroundColor
属性接受多个值,因此必须使用+=
将颜色“添加”到颜色列表中。这是接受多个值的所有属性的通用模式。