我有这个简单的标签示例:
primaryStage.setTitle("Tabs Test");
Group root = new Group();
Scene scene = new Scene(root, 600, 500, Color.WHITE);
TabPane tabPane = new TabPane();
BorderPane mainPane = new BorderPane();
//Create Tabs
Tab tabA = new Tab();
tabA.setText("Main Component");
tabA.setClosable(false); // da se mahne opciqta da se zatvarq tab
//Add something in Tab
StackPane tabA_stack = new StackPane();
tabA_stack.setAlignment(Pos.CENTER);
tabA_stack.getChildren().add(accordion); // dobavq se tuka accordion
tabA.setContent(tabA_stack);
tabPane.getTabs().add(tabA);
Tab tabB = new Tab();
tabB.setText("Second Component");
tabB.setClosable(false); // da se mahne opciqta da se zatvarq tab
//Add something in Tab
StackPane tabB_stack = new StackPane();
tabB_stack.setAlignment(Pos.CENTER);
tabB_stack.getChildren().add(new Label("Label@Tab B"));
tabB.setContent(tabB_stack);
tabPane.getTabs().add(tabB);
Tab tabC = new Tab();
tabC.setText("Last Component");
tabC.setClosable(false); // da se mahne opciqta da se zatvarq tab
//Add something in Tab
StackPane tabC_vBox = new StackPane();
tabC_vBox.setAlignment(Pos.CENTER);
tabC_vBox.getChildren().add(new Label("Label@Tab C"));
tabC.setContent(tabC_vBox);
tabPane.getTabs().add(tabC);
mainPane.setCenter(tabPane);
mainPane.prefHeightProperty().bind(scene.heightProperty());
mainPane.prefWidthProperty().bind(scene.widthProperty());
root.getChildren().add(mainPane);
primaryStage.setScene(scene);
primaryStage.show();
您能告诉我如何设置标签名称的大小吗?我想让它们变小。
答案 0 :(得分:5)
你可以通过CSS来实现。在项目中创建一个“myStyle.css”文件,并通过将以下内容粘贴到此css文件中来覆盖选项卡标签的默认CSS选择器:
.tab .tab-label {
-fx-skin: "com.sun.javafx.scene.control.skin.LabelSkin";
-fx-background-color: transparent;
-fx-alignment: CENTER;
-fx-text-fill: -fx-text-base-color;
-fx-font-size: 8px; /* all the same except this newly added one */
}
此css最初是从caspian.css复制的。有关更多自定义,请使用-fx-font
和/或参阅JavaFX CSS参考指南。
将css文件加载到场景中。
scene.getStylesheets().add(this.getClass().getResource("myStyle.css").toExternalForm());
或直接进入tabPane,
tabPane.getStylesheets().add(this.getClass().getResource("myStyle.css").toExternalForm());