Problem mit JTree

jannaef

Mitglied
Problem mit JTree und setRootVisible() Methode

Hallo Zusammen

Ich möchte, dass in meinem JTree der RootNode nicht angezeigt, aber die unteren Ebenen, aber wenn ich die Methode tree.setRootVisible(false) anwende sehe ich mein kompleten tree nicht mehr

Kann mir jemand helfen?
 
Zuletzt bearbeitet:

Vincentius

Erfahrenes Mitglied
Hallo,

ich weiss nicht, wie du deinen Baum zusammenbaust, aber eigentlich sollte es mit setRootVisible(false) gehen. Hier ein kleines Beispiel:
Java:
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;

/**
 * The Class TreeTest.
 */
public class TreeTest extends JFrame {

    /**
     * Create a new instance of <code>TreeTest</code>.
     */
    public TreeTest() {
        super("TreeTest");
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        getContentPane().setLayout(new GridLayout(1, 2));

        final DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
        root.add(new DefaultMutableTreeNode("Ordner1"));
        root.add(new DefaultMutableTreeNode("Ordner2"));
        root.add(new DefaultMutableTreeNode("Ordner3"));
        final JTree tree1 = new JTree(root);
        getContentPane().add(new JScrollPane(tree1));
        final JTree tree2 = new JTree(root);
        tree2.setRootVisible(false);
        getContentPane().add(new JScrollPane(tree2));
    }

    /**
     * The main method.
     *
     * @param args the arguments
     */
    public static void main(String[] args) {
        final JFrame frame = new TreeTest();
        final Dimension frameSize = new Dimension(400, 250);
        frame.setSize(frameSize);
        final Dimension screenSize =
            Toolkit.getDefaultToolkit().getScreenSize();
        final int frameX = (screenSize.width - frameSize.width) / 2;
        final int frameY = (screenSize.height - frameSize.height) / 2;
        frame.setLocation(frameX, frameY);
        frame.setVisible(true);
    }
}

Grüße
Vincent