TornadoFX:类型安全的CSS与其他库

我是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-buttonscontainer 。 我不确定哪些类是你真正想要的,但是我将添加这两个后者,因为这将会从你的例子中产生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委托函数中指定确切的名字:

val myCssClass by cssclass("my-slightly-different-css-class")

另请注意,由于backgroundColor属性接受多个值,因此必须使用+=将该颜色“添加”到颜色列表中。 这是所有接受多重价值的属性的通用模式。