向高手求教:Swing中JTree的使用

yl243 2003-12-15 10:30:22
小弟想用JTree实现一个文件资源的管理,但是在使用JBuilder7时遇到了一些问题,如下:

1、如何修改已经生成的ROOT的名字?
2、如何实现对树的更新?
3、如何向树中添加一个分支(节点或者叶子)?
4、如何删除节点?

如您能使我茅塞顿开,我将感激涕零。
请回我的E-MAIL: yangli-email@sohu.com

谢谢!
...全文
25 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
westwin 2003-12-19
  • 打赏
  • 举报
回复
楼主的问题都可以用DefaultTreeModel来实现;
DefaultMutableTreeNode rootNode=new DefaultMutalbeTreeNode("根节点");//根节点
DefaultTreeModel myTreeModel=new DefaultTreeModel(rootNode);//tree model
jTree1.setModel(myTreeModel);

1.修改根节点的名字:String nodeInfo=(String)rootNode.getUserObject();
nodeInfo="新名字";
myTreeModel.nodeChanged(rootNode);//这会激活TreeModelListener的treeNodesChanged函数,同时会刷新jTree1;

2.添加节点: DefaultMutableTreeNode childNode=new DefaultMutableTreeNode(childInfo);//childInfo为所要添加的节点代表的数据类型.
myTreeModel.insertNodeInto(childNode,parent,parent.getChildCount());//同样会激活TreeModelListener的treeNodesInserted函数

3。删除节点:同理,也通过myTreeModel.removeNodeFromParent(.......)//楼主自己查查帮助吧


这些是我最近两天研究JTree的一些心得,希望对你有帮助。
yl243 2003-12-19
  • 打赏
  • 举报
回复
能否讲解以下,谢谢!
wxh512 2003-12-15
  • 打赏
  • 举报
回复
import javax.swing.*;
import java.awt.*;
import java.util.*;
import javax.swing.tree.*;

public class DemoTree extends JInternalFrame{

public DemoTree(){
super("Demo Tree Structure", true, true, true, true);

DefaultMutableTreeNode manager;
DefaultMutableTreeNode leader;
DefaultMutableTreeNode engineer;

DefaultMutableTreeNode top = new DefaultMutableTreeNode("Empolyee List");

top.add( manager = new DefaultMutableTreeNode("Manager") );
top.add( leader = new DefaultMutableTreeNode("Leader") );
top.add( engineer = new DefaultMutableTreeNode("Engineer") );

manager.add( new DefaultMutableTreeNode("C. Fan") );
manager.add( new DefaultMutableTreeNode("C. Tomas") );
manager.add( new DefaultMutableTreeNode("C. Simth") );

leader.add( new DefaultMutableTreeNode("K. Jacky") );
leader.add( new DefaultMutableTreeNode("M. Shu") );

engineer.add( new DefaultMutableTreeNode("E. Kevin") );
engineer.add( new DefaultMutableTreeNode("H. Alex") );
engineer.add( new DefaultMutableTreeNode("G. J.") );
engineer.add( new DefaultMutableTreeNode("L. Kate") );
engineer.add( new DefaultMutableTreeNode("F. Mike") );

JTree tree = new JTree(top);
JScrollPane treeScroller = new JScrollPane(tree);
treeScroller.setBackground(tree.getBackground());
setContentPane(treeScroller);
setSize( 250, 200);
setLocation( 200, 20);
}//end of DemoTree()
}//end of class DemoTree
自己看程序吧

62,616

社区成员

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

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