Javafx 如何更改FX中嵌套控件的样式
JavaFx中的文本区域可以在css中指定背景颜色:Javafx 如何更改FX中嵌套控件的样式,javafx,tornadofx,Javafx,Tornadofx,JavaFx中的文本区域可以在css中指定背景颜色: .text-area .content { -fx-background-color: blue ; } 在样式声明中如何在tornadoFx中执行此操作 override val root = gridpane { orderTextArea = textarea { isEditable = false prefWidth = 900.0 prefHeight = 700.0
.text-area .content {
-fx-background-color: blue ;
}
在样式声明中如何在tornadoFx中执行此操作
override val root = gridpane {
orderTextArea = textarea {
isEditable = false
prefWidth = 900.0
prefHeight = 700.0
isWrapText = true
//textProperty().bind(viewModel.orderText)
style {
textFill = Color.YELLOW
**//backgroundcolor**
}
}
这里有两个选项:
class Styles : Stylesheet() {
init {
textArea {
content {
backgroundColor += Color.BLUE
}
}
}
}
正如我提到的,TornadoFX中还有另一个选项,那就是创建一个内联样式表。这不是一个内联样式,而是一个完整的样式表,它将只应用于定义它的节点(当然还有它的子节点)
注意,您需要引用样式表中定义的CSS类
创建外部类型安全样式表始终是最佳选择。如果在JavaFx遗留应用程序(不是从tornadoFx.app派生的)中使用TornadFX,则样式表类选项不可能,是吗?在这种情况下,我还没有找到注册样式表类的方法。你应该可以调用FX.importStylesheet()嗯……也许我忽略了某个东西,但是如何获得FX的实例呢?我可以访问伴生对象,但importStylesheet函数不是静态的…样式表属性是可访问的,我复制了importStylesheet函数以注册基于dsl的样式表,但该功能不起作用(在运行时忽略了样式表)
textarea {
prefWidth = 900.0
prefHeight = 700.0
stylesheet {
Stylesheet.content {
backgroundColor += Color.BLUE
}
}
}