jTree1 = new JTree(addTreeData());
jTree1.setEnabled(true);
jTree1.getSelectionModel().setSelectionMode
(TreeSelectionModel.SINGLE_TREE_SELECTION);
jTree1.setShowsRootHandles(true);
jScrollPane1.setViewportView(jTree1);
jTree1.setBounds(16, 5, 115, 168);
jTree1.setPreferredSize(new java.awt.Dimension(182, 232));
jTree1.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent evt) {
jTree1ValueChanged(evt);
}private void 添加节点ActionPerformed(ActionEvent evt) {
机构类 机构 = new 机构类();
机构.setId("7");
机构.setName("add");
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(机构);
treeModel = new DefaultTreeModel(top);
treeModel.insertNodeInto(childNode, top, top.getChildCount());
TreePath path=new TreePath(top.getPath());
                jTree1.makeVisible(path);
//Make sure the user can see the lovely new node.
jTree1.scrollPathToVisible(new TreePath(childNode.getPath()));
System.out.println(treeModel.getChildCount(top));
}这是树的大部分代码,System.out.println(treeModel.getChildCount(top));已经能输出长度每次加1就是在界面里显示不出来,不知道问题出在哪里,望赐教。

解决方案 »

  1.   

    o也是第一次看见 是不是jdk6都可以了~
      

  2.   

    给你一段代码 自己看看package temps;import javax.swing.JFrame;
    import javax.swing.JTree;
    import javax.swing.event.TreeExpansionEvent;
    import javax.swing.event.TreeExpansionListener;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.TreePath;public class myTreeExpand extends JFrame implements TreeExpansionListener {        DefaultMutableTreeNode C, node2, node3;        DefaultMutableTreeNode root = new DefaultMutableTreeNode("我的电脑");        JTree tree;        DefaultTreeModel model;        myTreeExpand() {
                    root.add(C = new DefaultMutableTreeNode("C:"));
                    root.add(node2 = new DefaultMutableTreeNode("D:"));
                    root.add(node3 = new DefaultMutableTreeNode("E:"));                C.add(new DefaultMutableTreeNode("file1"));
                    node2.add(new DefaultMutableTreeNode("file2"));                tree = new JTree(root);
                    tree.addTreeExpansionListener(this);
                    tree.setShowsRootHandles(true);
                    tree.setEditable(true);
                    add(tree);
                    model = (DefaultTreeModel) tree.getModel();
            }        public void treeExpanded(TreeExpansionEvent e) {
                    System.out.println("展开");
            }        public void treeCollapsed(TreeExpansionEvent e) {
                    System.out.println("收缩");
                    TreePath tr = e.getPath();                System.out.println(tr.getLastPathComponent());                DefaultMutableTreeNode survey = new DefaultMutableTreeNode("news");
                    model.insertNodeInto(survey, root, root.getChildCount());
            }        public static void main(String[] args) {
                    myTreeExpand tree = new myTreeExpand();
                    tree.setSize(200, 200);
                    tree.setVisible(true);
                    tree.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            }
      

  3.   

    model.insertNodeInto(survey, root, root.getChildCount()); 感觉这这个比较有用,其它都是静态的。
      

  4.   

    我的问题已经解决了
    变量可以用中文,具体jdk几里面的就不知道了,
      

  5.   

    楼主 我现在也正在解决一个关于java树的问题 能给一个实例借鉴一下吗? 感激!