2017-05-17 52 views
-1

我想在TabPane中添加圖標以及文本,我的情況下的選項卡將在圖像中顯示的左側對齊。我想實現如下:TabPane中的圖標和文本

  1. 的標籤中的文字應當旋轉,它應該是水平排列(不喜歡它看起來在圖一)。

  2. 我想一起添加圖標與文本。我在圖b的mspaint中編輯它後顯示我的最終屏幕。

圖a。 enter image description here


圖b。 enter image description here

編輯:

我跟着How to add an icon to the Tab control in FXML?但我沒有得到圖標,我想在圖B,而它看起來像圖溫度。我嘗試添加以下風格但沒有變化:

.tab-pane { 
    -fx-tab-min-width:120px; 
    -fx-tab-max-width:120px; 
    -fx-tab-min-height:50px; 
    -fx-tab-max-height:50px; 
} 

圖c。 enter image description here

+0

OK ..go它。當你有**問題時請回復我們。** –

+0

@AndrewThompson我確實發佈了我猜的問題。 __我想實現以下目標:__ – Vishrant

+1

*「我想要一匹小馬」*不是問題,而*「我在哪裏可以得到一匹小馬?」*或*「你會給我一匹小馬嗎?」或*「誰偷了誰?我的小馬?「**是**問題。如果*你的問題*是*「如何編寫規範?」*那麼它太寬泛了。所以我們回到***你的問題是什麼?*** –

回答

0

請考慮這個例如,您可以將想法到您的項目,當你想創建許多Tab

import javafx.application.Application; 
import javafx.geometry.Pos; 
import javafx.geometry.Side; 
import javafx.scene.Scene; 
import javafx.scene.control.Label; 
import javafx.scene.control.Tab; 
import javafx.scene.control.TabPane; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.scene.layout.Pane; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 

public class TabPaneExample extends Application{ 

    @Override 
    public void start(Stage ps) throws Exception { 

     VBox content = new VBox(); // create a VBox to act like a graphic content for the Tab 

     /////////////////////////////////////////// 
     Label label = new Label("Text"); 
     label.setAlignment(Pos.BOTTOM_CENTER); 

     ImageView icon = new ImageView(new Image("file:C:\\Users\\Yahya\\Desktop\\icon.png")); // for example 
     icon.setFitWidth(25); icon.setFitHeight(25); // your preference 
     /////////////////////////////////////////// 

     // add the components to the VBox 
     // You can set the Margins between the children ..etc 
     content.getChildren().addAll(icon, label); 
     //content.setAlignment(Pos.BOTTOM_CENTER); 

     Tab tab = new Tab();// create a Tab object and set the Graphic 
     tab.setGraphic(content); 

     // create TabPane, set side to left 
     // all other values need manipulation (i.e. up to your preference) 
     TabPane tabPane = new TabPane(tab); 
     tabPane.setSide(Side.LEFT); 

     // just simple root to see the result 
     Pane root = new Pane(); 
     root.getChildren().add(tabPane); 

     Scene scene = new Scene(root, 300,300); 
     ps.setScene(scene); 
     ps.show(); 
    } 

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

} 

UPDATE

如果要調整(請注意數值爲例):

tabPane.setTabMinHeight(50); 
tabPane.setTabMaxHeight(50); 
tabPane.setTabMinWidth(100); 
tabPane.setTabMaxWidth(100); 

結果

enter image description here

+0

@Vishrant請將代碼複製粘貼到IDE並自己嘗試:) – Yahya

+0

謝謝,當我在代碼'icon.setFitWidth(25)中將'25'的大小增加到'55'時。 icon.setFitHeight(25);'標籤大小不增加。 – Vishrant

+0

和我得到一個切碎的圖像和文字大小爲55. – Vishrant