带有不同数据对象的javaFX TreeView

时间:2016-04-18 17:03:36

标签: javafx javafx-8

我的TreeView有一个小问题.. 总有六个&#34; root&#34;元素 - 永远。所以我使用TreeItrem<String>。 在下一步,应用程序将遍历我的文件系统,并使用某些特定数据(如文件大小等)创建相同的FileModels

现在我想在TreeView中列出这些模型。这很好。 但是,如何将模型中的数据保存到特定的TreeItem? 我无法将TreeView<String>TreeItem<FileModel>混合 - 或者有可能? 你怎么理解我的意思。我想在我的事件监听器中使用数据......

@FXML
private TreeView<String> treeView;

// ....

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

TreeItem<String> test = new TreeItem<>("Test");
TreeItem<String> test2 = new TreeItem<>("Test2");
TreeItem<String> test3 = new TreeItem<>("Test3");
TreeItem<String> test4 = new TreeItem<>("Test4");
TreeItem<String> test5 = new TreeItem<>("Test5");
TreeItem<String> test6 = new TreeItem<>("Test6");

rootItem.getChildren().addAll(
    test, test2 //....
);

myObjectCache.getAllObjects().foreach((k, v) -> {
    switch(v.getType) {
        case TEST:
            test.getChildren.add(new TreeItem<>(v.getTitle));
            break;
        case TEST2:
            test2.getChildren.add(new TreeItem<>(v.getTitle));
            break;
        case TEST3:
            test3.getChildren.add(new TreeItem<>(v.getTitle));
            break;
            // ....
    }
});

//....

0 个答案:

没有答案