请问用object初始化JTree后,如何实现删除功能?

qihui_zhu 2010-05-06 07:51:19
描述:
构建一个树(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中的数据实现删除呢?
...全文
77 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qihui_zhu 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 seaside_boy 的回复:]
类似jdk里的File对象,即可代表目录,也可代表文件。每个Node里面包含一个list,代表其子节点。
而且把Tree对象转换成ArrayList也不麻烦,先深或先广遍历一遍即可
[/Quote]

有道理,我要解决的问题已经找到一个实现的方法。
这个数据结构设计的问题,我再仔细考虑一下。多谢
「已注销」 2010-05-06
  • 打赏
  • 举报
回复
类似jdk里的File对象,即可代表目录,也可代表文件。每个Node里面包含一个list,代表其子节点。
而且把Tree对象转换成ArrayList也不麻烦,先深或先广遍历一遍即可
qihui_zhu 2010-05-06
  • 打赏
  • 举报
回复
是这样的,我的数据还做其他用途。
对于其他功能,如果数据是线性的,处理起来比较方便。我在JTree上只有增删改,这3个操作。
树之分两级父节(Parent)点全部ArrayList,每个父节点(Parent类中)再包含一个child的ArrayList,不知这样设计是否合理?
「已注销」 2010-05-06
  • 打赏
  • 举报
回复
我觉得不应该用ArrayList,因为ArrayList是线性的,而数据是树形的,你可以自己写一个TreeObject

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧