2013-06-04 44 views
2

我有這個簡單的標籤例如:如何設置選項卡名稱大小的JavaFX

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("[email protected] 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("[email protected] 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(); 

你能告訴我怎麼可以設置選項卡的名稱的大小?我想讓他們變小。

回答

4

你可以通過CSS來完成。通過粘貼下面這個CSS文件在項目中創建一個「myStyle.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()); 
+0

你能告訴我怎麼可以導入你的代碼我的代碼? –

+0

@PeterPenzov更新。 –

相關問題