描述:
构建一个树(JTree) ,添加树里面的节点(DefaultMutableTreeNode)全部用我自己定义的类构造。 //自定义类
class tempTest{
String str;
tempTest(String str){
this.str = str;
}
public String toString(){
return str;
}
} //test
ArrayList<tempTest> nodeList = new ArrayList<tempTest>();
tempTest par = new tempTest("parent");
tempTest chd1 = new tempTest("child1");
tempTest chd2 = new tempTest("child2");
tempTest chd3 = new tempTest("child3"); nodeList.add(par);
nodeList.add(chd1);
nodeList.add(chd2);
nodeList.add(chd3);
p3 = treePanel.addObject(null, par); //treePanel是我自己构建好的树 addObject直接添加节点
treePanel.addObject(p3, chd1);
treePanel.addObject(p3, chd2);
treePanel.addObject(p3, chd3);
//test我目前实现的代码,都是在界面上可以添加和删除节点。问题:ArrayList实际上就是JTree对应的数据,当我删除节点之后。我该如何实现对ArrayList中的数据实现删除呢?
构建一个树(JTree) ,添加树里面的节点(DefaultMutableTreeNode)全部用我自己定义的类构造。 //自定义类
class tempTest{
String str;
tempTest(String str){
this.str = str;
}
public String toString(){
return str;
}
} //test
ArrayList<tempTest> nodeList = new ArrayList<tempTest>();
tempTest par = new tempTest("parent");
tempTest chd1 = new tempTest("child1");
tempTest chd2 = new tempTest("child2");
tempTest chd3 = new tempTest("child3"); nodeList.add(par);
nodeList.add(chd1);
nodeList.add(chd2);
nodeList.add(chd3);
p3 = treePanel.addObject(null, par); //treePanel是我自己构建好的树 addObject直接添加节点
treePanel.addObject(p3, chd1);
treePanel.addObject(p3, chd2);
treePanel.addObject(p3, chd3);
//test我目前实现的代码,都是在界面上可以添加和删除节点。问题:ArrayList实际上就是JTree对应的数据,当我删除节点之后。我该如何实现对ArrayList中的数据实现删除呢?
对于其他功能,如果数据是线性的,处理起来比较方便。我在JTree上只有增删改,这3个操作。
树之分两级父节(Parent)点全部ArrayList,每个父节点(Parent类中)再包含一个child的ArrayList,不知这样设计是否合理?
而且把Tree对象转换成ArrayList也不麻烦,先深或先广遍历一遍即可