tornadofx - 类型安全的 css 对控制 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)
解决方案
代码运行良好,所以我猜你使用的是 TornadoFX IDEA 插件并且不小心运行了 View 而不是运行 App 类。该插件允许您在不定义应用程序类的情况下运行视图,但是当您这样做时,框架无法知道您要加载应用程序类中指定的样式表。改为运行该Subtitler
课程,您将看到您的样式已应用:)
推荐阅读
- interpolation - 对向量之间的值进行分类,然后插值 R
- .net - 如何使用 .NET 将数据从 ms sql 导入表格模型
- c# - 是否可以在 Unity2D 中使用嵌套画布创建主菜单和选项菜单?
- javascript - 如何从 Controller 获取字符串并在视图中使用它?
- c# - 正则表达式只匹配 \" 而不是 \\\"
- javascript - 以渐进方式渲染渐进图像
- python - 如何从 Tkinter 条目小部件中获取字节数组
- linux - 文件的所有权正在自动更改
- html - ionic4 离子选择占位符不透明度不能更改
- jetty - 如何为 jetty 9.2.25 设置严格的传输安全标头