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-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
委托函数中指定确切的名字:
val myCssClass by cssclass("my-slightly-different-css-class")
另请注意,由于backgroundColor
属性接受多个值,因此必须使用+=
将该颜色“添加”到颜色列表中。 这是所有接受多重价值的属性的通用模式。