无法设置颜色 css tornadofx

cannot set colors css tornadofx

我只是在玩 TornadoFX 的例子,但我无法重现以下 https://github.com/edvin/tornadofx/wiki/Type-Safe-CSS,更准确地说:

backgroundColor += hoverColor

不为我编译,它说 type mismatch, required Paint, found CSSRule 我也不能设置 borderColor +=box(dangerColor),我也有类型不匹配

我刚刚测试了您的确切代码,它可以编译并运行。要么你使用的是过时版本的 TornadoFX,要么你的文件中有一些其他错误使 IDEA 给你错误的错误消息。自己尝试使用这个确切的代码片段,您会发现它可以编译:

class Styles : Stylesheet() {
    companion object {
        val dangerColor = c("#a94442")
        val hoverColor = c("#d49942")
    }

    init {
        root {
            button {
                backgroundColor += Color.GRAY
                borderWidth += box(5.px)
                borderColor += box(dangerColor)
                and(hover) {
                    backgroundColor += hoverColor
                }
            }
        }
    }
}

另一个注意事项:为什么要将所有内容都包装在 root 中?应该没有这个必要。

您的导入有误,请尝试使用

import tornadofx.*

声明。目前,您使用的是 tornadofx.Stylesheet.Companion.box 函数,而不是 CSSKt.class.

中的 box 函数

你可以使用两个内置函数

  1. c() //传递颜色字符串和不透明度作为参数
  2. multi() // 传递字符串颜色