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
自己看程序吧

解决方案 »

  1.   

    楼主的问题都可以用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的一些心得,希望对你有帮助。