2017-03-29 5 views
0

私は次のコードを持っています。これにより、Model1とModel1のルートビューが正常に作成されます。私はモデル1に項目を追加するのに問題があります。どうやってやるの?JavaFXでマルチレベルツリービューを作成する方法は?

@FXML 
TreeView<String> locationTreeView; 

public void loadTreeItems() 
{ 


    ArrayList<String> rootItems = new ArrayList<String>(); 
    rootItems.add("Model1"); 
    rootItems.add("Model2"); 
    TreeItem<String> root = new TreeItem<String>("Root"); 

    root.setExpanded(true); 
    for (String itemString : rootItems) 
    { 
     root.getChildren().add(new TreeItem<String>(itemString)); 
    } 

    locationTreeView.setRoot(root); 
} 

答えて

2

ちょうどあなたがルート項目に追加したのと同じ方法で、作成したツリー項目に追加します:あなたは、繰り返しのいくつかの種類を持っている場合

public void loadTreeItems() 
{ 


    TreeItem<String> root = new TreeItem<String>("Root"); 

    root.setExpanded(true); 

    TreeItem<String> model1 = new TreeItem<String>("Model1"); 
    TreeItem<String> model2 = new TreeItem<String>("Model2"); 

    TreeItem<String> model11 = new TreeItem<String>("Model1.1"); 
    TreeItem<String> model12 = new TreeItem<String>("Model1.2"); 

    root.getChildren().add(model1); 
    root.getChildren().add(model2); 

    model1.getChildren().add(model11); 
    model1.getChildren().add(model12); 

    locationTreeView.setRoot(root); 
} 

明らかに、ループがこれを行うために作ることができます構造。

+0

驚くばかりです。そして、クリックした場所のすぐ隣に画像を追加する方法を知っていますか? – Jay266

+0

http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TreeItem.html#setGraphic-javafx.scene.Node- –

関連する問題