2013-06-29 98 views
0

我有VBox樹視圖的數量。 我希望treeview根據可見節點的數量來獲取高度。 說如果我摺疊treeview的根節點,那麼樹視圖的高度也應該改變。 Image of three tree views in a vboxJavaFX樹視圖高度根據內容

在這個圖像的情況下,Item0顯示7個子項,然後有很多空白,然後Item1開始,Item1現在被摺疊,所以Item2應該立即在Item1下面開始。

請告訴我這樣做的正確方法是什麼。

+0

你找到任何解決辦法?我也有同樣的問題。 –

+0

讓根節點爲空的樹節點不可見並且具有一個樹視圖而不是多個樹視圖(如果可能的話 –

回答

0

試試這個

@Override 
public void start(Stage primaryStage) { 

    VBox treeContainer = new VBox(); 

    TreeItem<String> hiddenRootItem = new TreeItem<String>(); 
    TreeView<String> tree = new TreeView<String>(hiddenRootItem); 
    tree.setShowRoot(false); 

    treeContainer.getChildren().add(tree); 

    for (int j = 0; j < 3; ++j) { 
     TreeItem<String> rootItem = new TreeItem<String>("Item " + j); 
     rootItem.setExpanded(true); 
     String[] names = {"SubItem1", "SubItem2", "SubItem3", "SubItem4", "SubItem5", "SubItem6", "SubItem7",}; 
     for (int i = 0; i < names.length; i++) { 
      TreeItem<String> item = new TreeItem<String>(names[i]); 
      rootItem.getChildren().add(item); 
     } 
     hiddenRootItem.getChildren().add(rootItem); 
    } 

    StackPane root = new StackPane(); 
    root.getChildren().add(treeContainer); 
    Scene scene = new Scene(root, 300, 250); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 
} 
相關問題