Как я могу выбрать заголовок TitledPane в коде Java без CSS?
Я сделал TitledPane и хочу, чтобы шрифт заголовка был жирным.
Поэтому я пробовал так.
TitledPane Rootpane = new TitledPane();
Rootpane.setText("Options");
Rootpane.setStyle("-fx-background-color: #eeeeee; -fx-text-fill: #1b75bc; -fx-font-weight: bold;");
и заголовок стал жирным, но и другие кнопки, расположенные в TitledPane, тоже стали жирными...
Я просто хочу, чтобы заголовок был выделен жирным шрифтом без файла CSS.
Итак, как я могу выбрать заголовок в Java-коде?
А я пробовал так
Rootpane.lookup(".titled-pane > .title").setStyle("-fx-font-weight: bold;");
Но результат был
Exception in thread "main" java.lang.NullPointerException




Вы должны вызывать 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, чтобы получить фактическую текстовую метку (документы).
Возможно, вы захотите упомянуть о важности вызова
lookupпослеprimaryStage.show().