如何在tornadofx中更改嵌套控件的样式

时间:2018-01-13 20:14:25

标签: javafx tornadofx

JavaFx中的textarea可以在css中分配背景颜色:

app/design/frontend/mytheme/main/template/catalog/product/new.phtml
app/design/frontend/mytheme/main/template/catalog/product/widget/new/content/new_grid.phtml

如何在样式声明中的tornadoFx中执行此操作?

.text-area .content {
-fx-background-color: blue ;
}

1 个答案:

答案 0 :(得分:2)

这里有两个选项:

  1. 创建样式表并在那里描述正确的选择器
  2. 找到子节点并直接将样式应用于该节点
  3. 不建议使用No 2,因为您无法保证控件何时实际实例化该子节点。 TornadoFX有两种不做1的方式。

    您可以创建一个类型安全的样式表,并将其引用添加到您的app类。样式表看起来像这样:

    class Styles : Stylesheet() {
        init {
            textArea {
                content {
                    backgroundColor += Color.BLUE
                }
            }
        }
    }
    

    正如我所提到的,TornadoFX中还有另一个选项,那就是创建一个内联样式表。这不是内联样式,而是一个完整的样式表,只应用于您定义它的节点(当然它是子节点)

    textarea {
        prefWidth = 900.0
        prefHeight = 700.0
        stylesheet {
            Stylesheet.content {
                backgroundColor += Color.BLUE
            }
        }
    }
    

    请注意,您需要在样式表中引用已定义的CSS类。

    创建外部类型安全样式表始终是最佳选择。