Also hi erstmal,
das ist das erste mal für mich in diesem Forum. Und ich komme auch nur aus purer
Verzweiflung hier angekrochen. Ich würde mich immer noch als Java Anfänger bezeichnen,
auch nach 3 Jahren Programmieren in meinem Studium.
Also ich habe folgendes Problem, welches ich auch schon in sämtlichen Varianten etc. mit
google gesucht habe, und habe auch einige Tutorials etc. gefunden die aber alle leider nicht
bei meinem gedanklichen Problem helfen.
So endlich zum Problem:
Ich hatte am Anfang meines Projekts die Idee nen schönen einfachen jTree zum navigieren
einzubauen, und wusste leider nicht was da auf mich zukommt.
Im Hintergrund befindet sich jetzt eine kleine aber evlt. bald riesige DB mit z.B. Geräten;
meine Geräte haben Kategorien und wiederrum Typen, alles hat auch schön nochmal ne eigene
ID etc. Hier ne BeispielAbfrage:
Select Kategorie.KategorieID, Kategorie.Kategorie, Typ From Kategorie JOIN Typ ON KategorieID = Typ.Kategorie
Ergebnis:
KategorieID: Kategorie: Typ:
1 Allgemeine Geräte Drucker
1 Allgemeine Geräte Mehrkopfwaage
3 Produktion Tiefziehmaschine
So und jetzt will ich nen Tree mit Hilfe z.B. dieser Abfrage gestalten. Die Schranke in meinem Gehirn
liegt jetzt an folgendem Punkt. Anfangs wollte ich die Abfrage ohne KategorieID in eine ArrayList packen die ArrayList dann in das Object hierarchy packen und daraus die gesamte Baumhierarchie
gestalten... eigentlich ganz schön, aber hätte mir klar sein müssen, dass ich jetzt doppelte Knoten erhalten:
root
Allgemeine Geräte
Drucker
Allgemeine Geräte
Mehrkopfwaage
usw.
Dann hatte ich vor die ArrayList irgendwie mit nem iterated HashSet von doppelten Werten zu bereinigen, die Idee hab ich aber gar nicht erst fertig probiert, weil dann sicher die Beziehung von Kategorie und Typ verloren gegangen wäre und ich nur Müll bekommen hätte.
Meine nächste Idee die eigentlich klappen könnte ist folgende, das ich die Hauptstruktur fülle indem ich nur die Kategorien abfrage welche dann die Parentnodes darstellen und vorerst keine Kinder haben, sondern die Kinder extra durch einen WillExpandListener und eine entsprechende extra neue Abfrage "... Where '"getselectedTreePath"' = Kategorie.." oder so ähnlich. Allerdings macht mir
hier zu Anfang gleich mal der DefaultMutableTreeNode einen Strich durch die Rechnung, weil die
nodes ohne childs schonmal gar nicht mehr expandeble sind.
Hier z.B. ist eine extrem kranke Lösung, die für meinen JTree aber auch nicht klappt und zu übertrieben ist (Drag n Drop etc.) http://sites.google.com/site/uhilger/artikel_index/boundtree
Ich hoffe irgendjemand findet die Zeit meinen riesen Thread durchzulesen und auch alles zu verstehen, was ich nicht hinbekomme.
Übrigens wer sich jetzt unbedingt einbilden will, das ich meine Arbeit gemacht haben will etc. etc., der soll doch bitte einfach gehen.. ich möchte lediglich einen anständigen Denkanstoß und jemand der mich vom Schlauch schubst auf dem ich gerade stehe. Thx
das ist das erste mal für mich in diesem Forum. Und ich komme auch nur aus purer
Verzweiflung hier angekrochen. Ich würde mich immer noch als Java Anfänger bezeichnen,
auch nach 3 Jahren Programmieren in meinem Studium.
Also ich habe folgendes Problem, welches ich auch schon in sämtlichen Varianten etc. mit
google gesucht habe, und habe auch einige Tutorials etc. gefunden die aber alle leider nicht
bei meinem gedanklichen Problem helfen.
So endlich zum Problem:
Ich hatte am Anfang meines Projekts die Idee nen schönen einfachen jTree zum navigieren
einzubauen, und wusste leider nicht was da auf mich zukommt.
Im Hintergrund befindet sich jetzt eine kleine aber evlt. bald riesige DB mit z.B. Geräten;
meine Geräte haben Kategorien und wiederrum Typen, alles hat auch schön nochmal ne eigene
ID etc. Hier ne BeispielAbfrage:
Select Kategorie.KategorieID, Kategorie.Kategorie, Typ From Kategorie JOIN Typ ON KategorieID = Typ.Kategorie
Ergebnis:
KategorieID: Kategorie: Typ:
1 Allgemeine Geräte Drucker
1 Allgemeine Geräte Mehrkopfwaage
3 Produktion Tiefziehmaschine
So und jetzt will ich nen Tree mit Hilfe z.B. dieser Abfrage gestalten. Die Schranke in meinem Gehirn
liegt jetzt an folgendem Punkt. Anfangs wollte ich die Abfrage ohne KategorieID in eine ArrayList packen die ArrayList dann in das Object hierarchy packen und daraus die gesamte Baumhierarchie
gestalten... eigentlich ganz schön, aber hätte mir klar sein müssen, dass ich jetzt doppelte Knoten erhalten:
root
Allgemeine Geräte
Drucker
Allgemeine Geräte
Mehrkopfwaage
usw.
Dann hatte ich vor die ArrayList irgendwie mit nem iterated HashSet von doppelten Werten zu bereinigen, die Idee hab ich aber gar nicht erst fertig probiert, weil dann sicher die Beziehung von Kategorie und Typ verloren gegangen wäre und ich nur Müll bekommen hätte.
Meine nächste Idee die eigentlich klappen könnte ist folgende, das ich die Hauptstruktur fülle indem ich nur die Kategorien abfrage welche dann die Parentnodes darstellen und vorerst keine Kinder haben, sondern die Kinder extra durch einen WillExpandListener und eine entsprechende extra neue Abfrage "... Where '"getselectedTreePath"' = Kategorie.." oder so ähnlich. Allerdings macht mir
hier zu Anfang gleich mal der DefaultMutableTreeNode einen Strich durch die Rechnung, weil die
nodes ohne childs schonmal gar nicht mehr expandeble sind.
Hier z.B. ist eine extrem kranke Lösung, die für meinen JTree aber auch nicht klappt und zu übertrieben ist (Drag n Drop etc.) http://sites.google.com/site/uhilger/artikel_index/boundtree
Ich hoffe irgendjemand findet die Zeit meinen riesen Thread durchzulesen und auch alles zu verstehen, was ich nicht hinbekomme.
Übrigens wer sich jetzt unbedingt einbilden will, das ich meine Arbeit gemacht haben will etc. etc., der soll doch bitte einfach gehen.. ich möchte lediglich einen anständigen Denkanstoß und jemand der mich vom Schlauch schubst auf dem ich gerade stehe. Thx