类型安全的CSS对Tornadofx控件没有影响

时间:2019-04-01 21:23:45

标签: tornadofx

我正在尝试遵循有关类型安全CSS的指南。内联样式有效,但是我似乎可以将其与单独的样式表类一起使用。我已经尝试过对程序中的每种控件进行控制,包括列表视图,按钮,标签和文本字段。完全不应用样式。我的按钮看起来像一个完全正常的按钮,没有边框或旋转。

我将程序简化为一个按钮,并从样式表类的指南中删除了确切的代码。

我的主视图,样式表和应用。

import tornadofx.*
import com.lordxarus.subtitler.app.MyStyles

class MainView : View("Subtitler!") {
    override val root = vbox {
        button("TEST") {
            addClass(MyStyles.tackyButton)
        }
    }
}
class MyStyles : Stylesheet() {

    companion object {
        val tackyButton by cssclass()

        private val topColor = Color.RED
        private val rightColor = Color.DARKGREEN
        private val leftColor = Color.ORANGE
        private val bottomColor = Color.PURPLE
    }


    init {
        tackyButton {
            rotate = 10.deg
            borderColor += box(topColor,rightColor,bottomColor,leftColor)
            fontFamily = "Comic Sans MS"
            fontSize = 20.px
        }
    }
}
class Subtitler: App(MainView::class, MyStyles::class) 

1 个答案:

答案 0 :(得分:1)

代码运行良好,所以我想您正在使用TornadoFX IDEA插件,并且意外地运行了View而不是运行App类。该插件使您无需定义应用程序类即可运行视图,但是当您这样做时,框架无法知道您是否要加载在应用程序类中指定的样式表。改为运行Subtitler类,您将看到应用的样式:)