Verzeichnis Strings im JTree

Status
Nicht offen für weitere Antworten.

gamemaster

Mitglied
Hallo Leute,

ich weis, ich bin neu hier, und dann gleich so eine frage :-( VERGEBT MIR :lol:

Also......

Ich habe eine menge von Strings in etwa so

Z:\Dokumente\Rechnungen\2005
Z:\Dokumente\Rechnungen\2004
Z:\Dokumente\Verträge\2005
Z:\Dokumente\Verträge\2004
Z:\Dokumente\Studium\1. Semester
Z:\Dokumente\Studium\2. Semester

Da es sich dabei ja um Pfade im Dateisystem handelt, würde ich diese gerne in einem JTree darstellen...

also

Z
__Dokumente
____Rechnungen
______2004
______2005
____Verträge
______2004
______2005
____Studium
______1. Semester
______2. Semester


Hat jemand eine Idee !?

Immer wenn ich glaube, ich habe einen ansatz, fällt mir nach 5 min ein Fehler auf es dürfen ja auch keine Duplikate vorkommen :-(

Wäre für Hilfe extrem Dankbar

Gruß

Gamemaster
 
Grundidee:
1. ein Baummodell benutzen (bspw. javax.swing.tree.DefaultTreeModel
2. die einzelnen Strings in ihre Bestandteile zerlegen (als Trennzeichen java.io.File.separator benutzen, Sonderfall Laufwerksbuchstabe vorher beachten)
3. diese Bestandteile dahingehend prüfen, ob sie schon im Baummodell sind
4. wenn ja, wegschmeißen; wenn nein, unter dem richtigen Elternknoten einfügen
5. nächster Bestandteil

Wichtig ist, sich bei jedem einzufügenden Teilstring den vorhergehenden germerkt zu haben, da dies der Elternknoten wird. Also nicht erst alle Strings zerlegen, sondern Stück für Stück zerlegen und einfügen.
 
1. alle Pfade erstmal in eine Liste stopfen
2. die Liste alphabetisch aufsteigend sortieren
3. eigenes TreeModel implementieren, dass die Liste entgegennimmt
4. im TreeModel in den einzelnen Methoden nach Herzenslust die Strings zerpflücken 😉

Ist ziemlicher Muckefuck. Ich persönlich würds ganz anders machen, ne eigene Klasse für die Einträge schreiben, diese mit Methoden aus dem TreeModel ausstatten und aus der sortierten Liste der Strings über einen Stack die Struktur in den Instanzen ablegen und dann ein TreeModel schreiben, das nicht mehr machen muss, als auf die Methoden der Instanzen der eigenen Klasse zu verweisen.

Aber ich schätze, dass ist für dich nun erstmal etwas viel Bahnhof auf einmal..
 
Hi,

ja, das ist ziemlich viel Bahnhof auf einmal :-(

gibt es echt nichts fertiges von Java, um ein Dateisystem als Treeview darzustellen !?

schei.....

na ja ... dann kann ich meinen TreeView wohl abschreiben......

muss ich mir irgend eine andere möglichkeit suchen :-/
 
Kannst die Beispiel dennoch in leicht abgewandelter Form nutzen, denn es spricht ja nichts dagegen aus deinen Dateipfaden Instanzen von File zu machen.
 
ja, ich werde mir das ganze mal anschauen.......

wäre cool, wenn das so funktioniert....

nur hab ich noch zweifel, dass das ganze dann ohne duplikate erscheint 🙂
 
Wo ist das Problem die Duplikate vorher rauszufischen? Entweder schon in der DB-Afrage (SELECT DISTINCT) oder eben in Java...
 
ne das mein ich nicht mit duplikaten

ich mein den stamm

also Z:\Dokumente\xxxxx
Z:\Dokumente\yyyyyy

dass der mir nicht 2 Knoten mit Dokumente macht

sondern xxxxx und yyyyy unter einen Knoten Dokumente macht

na ja muss ich mir die logik von dem teil mal anschauen :-D
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben