Javafx样式-继承无法直观地工作,-fx-text-fill无法工作

问题描述 投票:1回答:1

我是JavaFX的新手,对样式感到困惑。我正在使用OpenJFX 13.0.1。我有以下简单的场景:

        val oscs = HBox()
        val osc1 = VBox()
        val title = Text("Osc 1")
        title.styleClass.add("text")
        osc1.children.add(title)
        oscs.children.add(osc1)

        val root = BorderPane()
        root.children.add(oscs)
        val scene = Scene(root, 500.0,  400.0)

我有两个问题:

1)-fx-text-fill无法为文本着色,而-fx-fill是。即

.text {
    -fx-fill: #44FFFF;
}

有效,而:

.text {
    -fx-text-fill: #44FFFF;
}

没有。根据文档,看来这是错误的。

2)继承无法正常工作。子节点不应该从根继承吗?

无论是-fx-fill还是-fx-text-fill,以下内容都不会对标签上色。

.root {
    -fx-font-size: 24px;
    -fx-font-family: sans-serif;
    -fx-fill: #44FFFF;  
    -fx-background-color: #000000;
    -fx-border-color: #44FF00;
    -fx-border-width: 2px;
}

我在做什么错?

css javafx openjfx
1个回答
0
投票

您可能混淆了LabelText

TextShape的子类,不提供-fx-text-fill属性。此外,不会继承Shape-fx-fill属性。参见CSS Reference Guide

除了使用Label以外,您还可以使用后代选择器来分配填充:

.root .text {
    -fx-fill: #44FFFF;  
}
© www.soinside.com 2019 - 2024. All rights reserved.