Лучший справочник по свойствам и селекторам JavaFX CSS - PullRequest
5 голосов
/ 24 октября 2011

Я пытаюсь выучить JavaFX 2, но много спотыкаюсь, пытаясь стилизовать свое приложение.Я нашел этот документ , который пытается документировать элементы управления и свойства css, которые к ним относятся.Я не могу сказать, если он неполный, если я должен использовать некоторые неизвестные селекторы или поддержка JavaFX CSS просто недостаточно мощна для моих нужд.

Вот пара примеров:

  • Как бы я изменил цвет фона для области за TabPane, не окрашивая каждый другой дочерний компонент (есть ли для этого селектор или, возможно, свойство?)
  • Как бы я изменил цвет невыбранные вкладки?

Ответы [ 2 ]

10 голосов
/ 05 ноября 2011

Вы пробовали что-то подобное?

При этом используется селектор идентификаторов, как показано в документе «Skinning JavaFX Applications with CSS». Вы также можете отключить селектор "#MyTabPane" и применить его ко всем TabPane. (Похоже, что селекторы .tab и .tab-content-area не обсуждаются в справочном руководстве. Я нашел файл «caspian.css», содержащийся в файле jfxrt.jar, чтобы найти их.)

TabExample.css

#MyTabPane .tab {
    -fx-background-color: blue;
}
#MyTabPane .tab:selected {
    -fx-background-color: red;
}

#MyTabPane .tab-content-area {
    -fx-background-color: cyan;
}

#MyTabPane .tab *.tab-label {
    -fx-text-fill: white;
}

TabPaneEx.java

@Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World");
        StackPane root = new StackPane();
        TabPane pane = new TabPane();
        pane.setId(("MyTabPane"));
        Tab tab1 = new Tab("ONE");
        Tab tab2 = new Tab("TWO");
        Tab tab3 = new Tab("THREE");
        pane.getTabs().addAll(tab1,tab2,tab3);
        Scene scene = new Scene(root, 300, 250);
        root.getChildren().add(pane);
        scene.getStylesheets().add(
                this.getClass().getClassLoader().getResource("tabpaneex/TabExample.css").toString());
        primaryStage.setScene(scene);
        primaryStage.show();
    }
5 голосов
...