如何在JavaFX中选择没有CSS的TitledPane标题?

时间:2019-05-14 19:28:05

标签: java css javafx

如何在没有CSS的情况下用Java代码选择TitledPane的标题?

我制作了TitledPane,并且想要使标题的字体粗体为粗体。

所以我尝试了这样。

TitledPane Rootpane = new TitledPane();
Rootpane.setText("Options");
Rootpane.setStyle("-fx-background-color: #eeeeee; -fx-text-fill: #1b75bc; -fx-font-weight: bold;");

标题变为粗体,但TitledPane中的其他按钮也变为粗体...

我只想使Title不带CSS文件而为粗体。

那么我该如何选择Java代码中的标题?

我尝试过这样

Rootpane.lookup(".titled-pane > .title").setStyle("-fx-font-weight: bold;");

但是结果是

Exception in thread "main" java.lang.NullPointerException

1 个答案:

答案 0 :(得分:3)

您应该在将节点添加到舞台之后和lookup()之后调用Stage.show()。例如这样的

@Override
public void start(Stage primaryStage) {
    TitledPane root = new TitledPane();
    root.setText("Options");
    primaryStage.setScene(new Scene(root, 200, 100));
    primaryStage.show();

    root.lookup(".titled-pane > .title > .text").setStyle("-fx-font-weight: bold;");
}

如您所见,您还应该使用.titled-pane > .title > .text来获取实际的文本标签(docs)。