0

私はcssスタイルのクラスを持っています:

.customTabPane {
     -fx-tab-min-height: 20;
}
.customTabPane:top *.tab-header-area {
    -fx-background-insets: 0, 0 0 1 0;
    -fx-padding: 5 0 0 0;
}

.customTabPane:top *.tab {
    -fx-padding:  0 0 0 0;
}

.customTabPane *.tab-header-background {
    -fx-background-color: red;
}

ただし、*。tab-header-area、*。tab-header-backgroundは、「customTabPane」()だけでなく、アプリケーション内のすべてのTabPaneに適用されますtabPane.getStyleClass().add("customTabPane")。どうすればこれを修正できますか?

4

1 に答える 1

0

ユースケースをテストしましたが、css は「customTabPane」スタイル クラスを持つタブペインにのみ適用されます。コードをもう一度確認してください。

@Override
public void start(Stage primaryStage) {

    TabPane tabPane = new TabPane();
    tabPane.getStyleClass().add("customTabPane");
    tabPane.getTabs().add(new Tab("tab 1"));

    TabPane tabPane2 = new TabPane();
    tabPane2.getTabs().add(new Tab("tab 2"));

    VBox root = new VBox();
    root.getChildren().addAll(tabPane,tabPane2);

    Scene scene = new Scene(root, 300, 250);
    scene.getStylesheets().add(this.getClass().getResource("style.css").toExternalForm());

    primaryStage.setScene(scene);
    primaryStage.show();
}
于 2013-01-29T12:32:57.820 に答える