Erste Knoten des JTrees bei Start offen

drei1padsvb

Aktives Mitglied
Hallo,

ich möchte, dass bei meinem JTree - bei Start des Programms - die ersten Knoten geöffnet sind.

Mit
Java:
for(int i=0;i<tree.getRowCount()+1;i++)
{
tree.fireTreeExpanded(tree.getPathForRow(i));
}
wird der komplette Baum geöffnet.
Das will ich aber so nicht.

Wie krieg ich es hin, dass jeweils nur die ersten Knoten geöffnet werden?

Vielen Dank schonmal!
 
ich hatte geschrieben, ob man das nicht mit
Java:
tree.fireTreeExpanded(tree.getPathForRow(0));

erreichen kann...hatte aber dann meinen Post editiert. Das "das war glaube ich Müll^^ " war also auf meine o.g. Idee bezogen...
 
Grad kurz ma ausprobiert und dank Eclipse:
Java:
tree.expandPath(tree.getPathForRow(0));
gefunden.

Viel Spaß
 
Hi und danke auch für deine Antwort!

Leider geht das bei mir nicht.
Mit
Java:
         for(int i=0;i<tree.getRowCount()+1;i++)
         {
             tree.expandPath(tree.getPathForRow(0));
         }
Bleiben alle Knoten geschlossen.
 
versuchs dochmal nach der for-Schleife mit einem
Java:
tree.validate();
tree.repaint();
 
Ich hab nun folgende Lösung gefunden, die bei mir funktioniert:

Java:
        DefaultMutableTreeNode currentNode = root.getNextNode();
        do {
            if (currentNode.getLevel()==1) tree.expandPath(new TreePath(currentNode.getPath()));
            currentNode = currentNode.getNextNode();
            }
        while (currentNode != null);
 

Zurück
Oben