JTree dynamisch erzeugen aus DB-Array

stefschi

Grünschnabel
Hallo zusammen,

ich lese aus einer Oracle-DB daten aus, die auf sich selber referenzieren. Die struktur sieht wie folgt aus:

ID Name ParentFolder
1 Root-Ordner Null
2 Ordner1 1
3 Ordner2 1
4 Ordner3 2
5 Ordner4 3
6 Ordner5 1

Ich lese die Daten in eine definierte ArrayList ein, was auch wunderbar funktioniert ;-)

Wie kann ich denn ein jTree zusammenbasteln, dass es mir wie folgt eine dynamisch Anzeige macht?

Root-Ordner (das bekomme ich hin ;))
|____Ordner1
| |____Ordner3
|____Ordner2
| |____Ordner4
|____Ordner5

Ich steh momentan echt brutal auf dem Schlauch. Um eine Hilfe wäre ich sehr froh

Gruß

stefschi
 
Ist erledigt. Mach es nun so:

Code:
                          /**
                         * Sucht den Root-Ordner, definiert durch Folid = 1
                         */
                        for(int a=0;a<Ordner.size();a++){
                            if(Ordner.get(a).getFolid()==1){
                                root = new javax.swing.tree.DefaultMutableTreeNode(Ordner.get(a).getFolename());
                                Uebersicht_Ordner.setModel(new javax.swing.tree.DefaultTreeModel(root));
                                Uebersicht_Ordner.updateUI();
                            }
                        }
                        /**
                         * Sucht die Unterelemente von dem Root-Ordner, definiert durch FOLPARENTID = 1
                         */
                        for(int a=0;a<Ordner.size();a++){
                            if(Ordner.get(a).getFolparentid()==1){
                                String darüberliegender_Ordern = parentnummer_in_name_umwandel(Ordner.get(a).getFolparentid());
                                element_dazufuegen(darüberliegender_Ordern, Ordner.get(a).getFolename());
                                Uebersicht_Ordner.updateUI();
                            }
                        }
                        /**
                         * Füge allen anderen Umterelemente dazu, definiert durch FOLPARENTID > 1
                         */
                        for(int a=0;a<Ordner.size();a++){
                            if(Ordner.get(a).getFolparentid()>1){
                                String darüberliegender_Ordern = parentnummer_in_name_umwandel(Ordner.get(a).getFolparentid());
                                element_dazufuegen(darüberliegender_Ordern, Ordner.get(a).getFolename());
                                Uebersicht_Ordner.updateUI();
                            }
                        }

Gruß

Stefschi
 
Zurück