如何在JavaFX中创建多级树视图?

时间:2017-03-29 18:12:04

标签: java javafx treeview

我有以下代码。这样可以使用Model1和Model1成功创建根视图。我在向Model1添加项目时遇到问题。我怎么能这样做?

@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);
}

1 个答案:

答案 0 :(得分:3)

只需将它们添加到您创建的树项中,就像添加到根项目一样:

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);
}

如果你有某种重复的结构,显然你可以做循环。