我有一个
Class Category
private Category parent;
private String name;
private ArrayList<Category> categories;
private DefaultMutableTreeNode node;
和
ArrayList<Category> categories
ArrayList 包含
[0]Categorie #1
parent = null
name = asdasd
ArrayList<Category> categories
[0]Categorie #2
parent = #1
name = asdasddsa
ArrayList<Category> categories
[0]Categories #4
parent = #2
name = asdasdasd
ArrayList<Category> categories = null
[1]Categorie #3
parent = #1
name = asdasdasdasdasd
ArrayList<Category> categories = null
我想从那个 ArrayList 中创建一个 JTree。我尝试了一个使用自身的函数,直到类别 ArrayList 为空,但是使用这种方法,父类别中的类别不能超过 1 个。
我创建了这些功能,但它们不起作用。
public void generateNodes(Category category,DefaultMutableTreeNode root){
ArrayList<Use> usages = category.getUsages();
for(Use use: usages){
category.getNode().add(use.getNode());
}
if(!category.getCategories().isEmpty()){
root.add(category.getNode());
for(Category cat: category.getCategories()){
generateNodes(cat, category.getNode());
}
}else{
root.add(category.getNode());
}
}