Hi Leute! Ich habe ein Problem mit einem JTree.
Will diesen nach einer Datenbankabfrage mit Ergebnissen füllen.
Also muss er Dynamisch erstellt werden.
Was ich nutze:
Int c1, c2, c3 = 0; //Jeweils die Startwerte der Arrays
String countClass, StringCountABC //Strings die das Aktuelle Zeichen zum vergleichen tragen.
arrDiffClass[] = {1,2,3,4}
arrDiffABC{} = {a,b,c}
arrNamen[] etc. sind nur die Werte des ResultSets alles Schüler
arrClass[] = stehen die passenden Klassen zu den Namen als 1,2,3,4
arrABC[] = stehen die passenden Bezeichnungen zu den Namen also a,b,c
Wenn man also die letzten drei an der gleichen Position abfragt bekommt man
„Musterman, 1,a“
Es wurde nach klasse, abc vorsortiert: Also 1a,1b,1c,2a,2b,2c,3a,3b,3c,4a,4b,4c
Sollte also im Endefekt ungefähr so aussehen:
Root
---Klasse1
--------a
--------------Mustermann,1,a
--------------Müller,1,a
--------b
--------------Meier,1,b
--------------Schulze,1,b
--------c
---Klasse2
--------a
--------b
--------c
---Klasse3
--------a
Bei mir zählt er aber die Variablen nicht wirklich hoch! Verstehe nicht warum!
Deshalb gibt er bei mir nur den ersten Pfad aus. Also alles was mit Klasse 1a zusammenhängt.
Kann jmd helfen?
Will diesen nach einer Datenbankabfrage mit Ergebnissen füllen.
Also muss er Dynamisch erstellt werden.
Was ich nutze:
Int c1, c2, c3 = 0; //Jeweils die Startwerte der Arrays
String countClass, StringCountABC //Strings die das Aktuelle Zeichen zum vergleichen tragen.
arrDiffClass[] = {1,2,3,4}
arrDiffABC{} = {a,b,c}
arrNamen[] etc. sind nur die Werte des ResultSets alles Schüler
arrClass[] = stehen die passenden Klassen zu den Namen als 1,2,3,4
arrABC[] = stehen die passenden Bezeichnungen zu den Namen also a,b,c
Wenn man also die letzten drei an der gleichen Position abfragt bekommt man
„Musterman, 1,a“
Es wurde nach klasse, abc vorsortiert: Also 1a,1b,1c,2a,2b,2c,3a,3b,3c,4a,4b,4c
Code:
private DefaultMutableTreeNode createPupilTree()
{ //Tree Root
treeRoot = new DefaultMutableTreeNode( "Übersicht der Schüler" );
String countClass;
String countABC;
c1 = 0;
c2 = 0;
c3 = 0;
//Solange bis der Klassen durchlaufen wurde
while(c1 < lengthArrDiffClasses)
{
countClass = arrClass[c1];
System.out.println("CountClaas = "+countClass);
treeClass = new DefaultMutableTreeNode(arrClass[c1]);
while(c2 <lengthArrDiffAbc)
{ countABC = arrABC[c2];
System.out.println("CountABC = "+countABC);
treeABC = new DefaultMutableTreeNode(arrABC[c2]);
while (c3 < lengthArrNames && countClass.equals(arrClass[c3])
&& countABC.equals(arrABC[c3]))
{ treePupil = new DefaultMutableTreeNode(""+arrName[c3]+", "+arrFirstName[c3]+" "+arrClass[c3]+arrABC[c3]);
treeABC.add(treePupil);
c3++;
}
treeClass.add(treeABC);
c2++;
}
treeRoot.add(treeClass);
c1++;
}
return treeRoot;
}
Sollte also im Endefekt ungefähr so aussehen:
Root
---Klasse1
--------a
--------------Mustermann,1,a
--------------Müller,1,a
--------b
--------------Meier,1,b
--------------Schulze,1,b
--------c
---Klasse2
--------a
--------b
--------c
---Klasse3
--------a
Bei mir zählt er aber die Variablen nicht wirklich hoch! Verstehe nicht warum!
Deshalb gibt er bei mir nur den ersten Pfad aus. Also alles was mit Klasse 1a zusammenhängt.
Kann jmd helfen?