2016-11-12 7 views
0

私はJavaFXで作業するのが新しく、に追加するにはTreeViewを作成しようとしています。ただし、にTreeViewを追加すると、それは空です。以下は、TreeViewを作成、生成、追加してTabに追加するコードです。JavaFX TreeViewが空です

public ResultView(List<WebPage> results, int resultNum) { 
    this.pagesWithResults = results; 
    urls = new ArrayList<String>(); 
    outputs = new ArrayList<>(); 

    resultsTab = new Tab("Result" + resultNum); 

    resultTree = new TreeView<>(); 
    branches = new ArrayList<>(); 

    for(WebPage pageWithResults: pagesWithResults) { 
     this.urls.add(pageWithResults.getURL()); 
     this.outputs.add(pageWithResults.getOutput()); 
    } 

    TreeItem<String> root = new TreeItem<>(); 
    root.setExpanded(true); 
    //resultTree.setShowRoot(false); 

    for(int i = 0; i < urls.size(); i++) { 
     branches.add(makeBranch(urls.get(i), root)); 
     //System.out.println(urls.get(i)); 

     for(int j = 0; j < outputs.get(i).size(); j++) { 
      makeBranch(outputs.get(i).get(j), branches.get(i)); 
      //System.out.println(outputs.get(i).get(j)); 
     } 
    } 

    resultsTab.setContent(resultTree); 
} 

public TreeItem<String> makeBranch(String title, TreeItem<String> parent) { 
    TreeItem<String> item = new TreeItem<>(title); 
    item.setExpanded(true); 
    parent.getChildren().add(item); 
    return item; 
} 

TreeItemsmakeBranch方法で作成され、提供さparentに添加されます。ここで

TabSceneに追加したときにどのように見えるかです:

Blank TreeView

答えて

0

私はそれを考え出したと信じています。私はTreeViewの根を設定することを怠った。追加:

resultTree.setRoot(root); 

ツリーをルートに追加し、ツリーを表示します。それがなければ、私は空のTreeViewを返す。

関連する問題