Как скрыть область заголовка вкладки при добавлении новых вкладок в JavaFX?JAVA

Программисты JAVA общаются здесь
Anonymous
Как скрыть область заголовка вкладки при добавлении новых вкладок в JavaFX?

Сообщение Anonymous »

Мне нужно скрыть всю область заголовка вкладок в TabPane (без вкладок, без кнопок закрытия и т. д.). Я нашел способ сделать это с помощью CSS. Однако это решение не работает при добавлении новых вкладок. Это мой код:

Код: Выделить всё

public class Test extends Application {

@Override
public void start(Stage primaryStage) {
var tab1 = new Tab("Test1");
tab1.setContent(new Label("Content 1"));
var tab2 = new Tab("Test2");
tab2.setContent(new Label("Content 2"));
var tabPane = new TabPane(tab1, tab2);
VBox.setVgrow(tabPane, Priority.ALWAYS);
tabPane.getStyleClass().add("test");
var button = new Button("New Tab");

button.setOnAction(e -> {
var tab = new Tab("Button Tab");
tab.setContent(new Label("Hi there"));
tabPane.getTabs().add(tab);
tabPane.getSelectionModel().select(tab);
});

VBox root = new VBox(tabPane, button);
Scene scene = new Scene(root, 400, 200);
var css = this.getClass().getResource("test.css").toExternalForm();
scene.getStylesheets().add(css);
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}

}
test.css

Код: Выделить всё

.tab-pane.test {
-fx-tab-max-height: 0;
}

.tab-pane.test .tab-header-area {
visibility: hidden;
}
И вот как это работает:
[img]https://i.sstatic. net/TpKnHyaJ.gif[/img]

Как видите, при запуске программы область заголовка вкладки не видна. Однако при добавлении новой вкладки она становится наполовину видимой. В то же время, если щелкнуть другую вкладку, она снова не отображается.
Может ли кто-нибудь сказать, как сделать ее невидимой навсегда?

Подробнее здесь: https://stackoverflow.com/questions/789 ... -in-javafx

Вернуться в «JAVA»