makeVisible(Treepath path)你有java 2核心技术吗,里面的高级Swing一章讲的非常详细,看看就知道了

解决方案 »

  1.   

    for (int i=0;i<tree.getRowCount();i++) {tree.expandRow(i);} 记得给分啊,呵呵。
      

  2.   

    反了,应该是
    for (int i=tree.getRowCount();i>0;i--) {tree.expandRow(i);} 
    呵呵,这下应该可以了
      

  3.   

    不对不对,应该是这样:for (int i=0;i<jTreeMp.getRowCount();i++) {jTreeMp.expandRow(i);}
    int RowCount=jTreeMp.getRowCount();
    for (int i=1;i<RowCount;i++)
    {
    TreePath path=jTreeMp.getPathForRow(i);
    jTreeMp.expandPath(path);
    }我做个测试,是可以的。 :)
      

  4.   

    整理lovesong() 得出完成的代码
    import javax.swing.*;
    import javax.swing.tree.*;public class Tree extends JFrame{
        public Tree() {        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("1");
            DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("2");
            DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("3");
            DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("4");        JTree tree = new JTree();
            DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
            MutableTreeNode node = (MutableTreeNode)model.getRoot();
            model.insertNodeInto(node1,node,0);
            model.insertNodeInto(node2,node1,0);
            model.insertNodeInto(node3,node2,0);
            model.insertNodeInto(node4,node3,0);        for (int i=0;i<tree.getRowCount();i++) {
                tree.expandRow(i);
            }
            int RowCount=tree.getRowCount();
            for (int i=1;i<RowCount;i++) {
                TreePath path=tree.getPathForRow(i);
                tree.expandPath(path);
            }        this.getContentPane().add(tree);
            this.pack();
            this.setVisible(true);
        }    public static void main(String[] args) {
            new Tree();
        }
    }
      

  5.   

    太菜了,其实lovesong()第一次时就说对了
      

  6.   

    to:bobokong(寻找编程的乐趣)兄:你最开始好象没有说错啊,
    我最开始的方法不能展开三层以上的树吧 
    我没有时间去细查,但是从结果看是这样的。