import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;public class TestTree extends JFrame  {
    public TestTree(){
        root=new DefaultMutableTreeNode("root");         
        tree=new JTree(root);
        model=(DefaultTreeModel)tree.getModel();        
        tree.setVisible(true);
        child=new DefaultMutableTreeNode("Color");
        child.add(new DefaultMutableTreeNode("blue"));
        child.add(new DefaultMutableTreeNode("violet"));
        child.add(new DefaultMutableTreeNode("red"));            
        root.add(child);
        setLayout(new BorderLayout());
        add(tree,BorderLayout.CENTER);
        setVisible(true);  
    }
    private JTree tree;
    private DefaultTreeModel model;
    private DefaultMutableTreeNode root,child;  
}

解决方案 »

  1.   

    测试了一下,可以设置根节点不可见,子节点可见的:
    import java.awt.BorderLayout;
    import javax.swing.JFrame;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;public class TreeTest extends JFrame
    {
    public TreeTest()
    {
    root = new DefaultMutableTreeNode("root");
    tree = new JTree(root);
    model = (DefaultTreeModel) tree.getModel();
    tree.setVisible(true);
    child = new DefaultMutableTreeNode("Color");
    child.add(new DefaultMutableTreeNode("blue"));
    child.add(new DefaultMutableTreeNode("violet"));
    child.add(new DefaultMutableTreeNode("red"));
    root.add(child);

    setLayout(new BorderLayout());
    add(tree, BorderLayout.CENTER);

    tree.expandRow(0);
    tree.setRootVisible(false);
    }
    public static void main(String[] args)
    {
    JFrame tree = new TreeTest();
    tree.setSize(200,100);
    tree.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    tree.setVisible(true);
    } private JTree tree; private DefaultTreeModel model; private DefaultMutableTreeNode root, child;
    }
    详见:C:\Program Files\Java\jdk1.5.0_05\demo\jfc\SampleTree\src
      

  2.   

    试试getContent().add(new JScollPane(tree),BorderLayout.CENTER); 
    代替你的add(tree,BorderLayout.CENTER);