Hallo,
mit dem JTree kenne ich mich einigermaßen aus und es gibt auch gute Tutorials dazu, wie man Elemente aus dem Baum löscht und in den Baum einfügt.
Ich habe es noch nicht probiert, aber ich bin mir ziemlich sicher, dass, wenn ich eine Klasse, die von DefaultMutableTreeNode abgeleitet ist, ans TreeModel übergebe, alles trotzdem funktioniert (wobei ich wahrscheinlich dann die toString-Methode überschreiben muss, damit was vernünftiges im Baum angezeigt wird).
Nehmen wir als Beispiel also einmal folgende Klasse:
Das Problem ist aber, dass mein Baum ja nun folgendes anzeigt:
Wurzel
|
- Unterwurzel 1
- Unterwurzel 3
- Unterwurzel 2
|
- Blatt 1
- Blatt 3
- Blatt 5
Er soll aber eigentlich nach Knoten.nummer sortiert ausgegeben werden und wenn ich später einen Knoten z.B. unter Untwurzel 2 erzeuge, soll er auch nach nummer sortiert eingeordnet werden!
Wie mache ich es also, das folgender Baum erscheint, ohne dass ich an meiner Baum-Füllen-Methode die Reihenfolge der Einfügungen ändere:
Wurzel
|
- Unterwurzel 1
- Unterwurzel 2
|
- Blatt 1
- Blatt 5
- Blatt 3
- Unterwurzel 3
Vielen Dank für eure Mühe
Liebe Grüße
Kevin
mit dem JTree kenne ich mich einigermaßen aus und es gibt auch gute Tutorials dazu, wie man Elemente aus dem Baum löscht und in den Baum einfügt.
Ich habe es noch nicht probiert, aber ich bin mir ziemlich sicher, dass, wenn ich eine Klasse, die von DefaultMutableTreeNode abgeleitet ist, ans TreeModel übergebe, alles trotzdem funktioniert (wobei ich wahrscheinlich dann die toString-Methode überschreiben muss, damit was vernünftiges im Baum angezeigt wird).
Nehmen wir als Beispiel also einmal folgende Klasse:
Code:
class Knoten extends DefaultMutableTreeNode {
String name;
int nummer;
boolean markiert;
public Knoten (String nm, int nr) {
name = new String (nm);
nummer = nr;
}
String toString () {
return name;
}
}
// Nun baue ich meinen Baum auf:
Knoten node = new Knoten ("Wurzel", 0);
node.add(new Knoten ("Unterwurzel 1", 1));
node.add(new Knoten ("Unterwurzel 3", 3));
Knoten node_2 = new Knoten ("Unterwurzel 2", 2);
node_2.add(new Knoten ("Blatt 1", 0));
node_2.add(new Knoten ("Blatt 3", 3));
node_2.add(new Knoten ("Blatt 5", 1));
node.add (node_2);
// So, wenn ich fertig bin, erstelle ich nun den JTree:
JTree Baum = new JTree (new TreeModel (node));
Das Problem ist aber, dass mein Baum ja nun folgendes anzeigt:
Wurzel
|
- Unterwurzel 1
- Unterwurzel 3
- Unterwurzel 2
|
- Blatt 1
- Blatt 3
- Blatt 5
Er soll aber eigentlich nach Knoten.nummer sortiert ausgegeben werden und wenn ich später einen Knoten z.B. unter Untwurzel 2 erzeuge, soll er auch nach nummer sortiert eingeordnet werden!
Wie mache ich es also, das folgender Baum erscheint, ohne dass ich an meiner Baum-Füllen-Methode die Reihenfolge der Einfügungen ändere:
Wurzel
|
- Unterwurzel 1
- Unterwurzel 2
|
- Blatt 1
- Blatt 5
- Blatt 3
- Unterwurzel 3
Vielen Dank für eure Mühe
Liebe Grüße
Kevin