F
Fabian85
Gast
Hallo,
ich hänge gerade den ganzen Tag an einer Aufgabe und komme einfach weiter und nun bin ich auf dieses Forum gestoßen. Es geht um folgendes: Gegeben ist ein Array mit den folgenden Beispiel Einträgen:
static final String [] folderPathNames = {
"Dateien/Musik/Rock/Abba",
"Dateien/Musik/Rock/Zappa",
"Dateien/Musik/Jazz",
"Dateien/Bilder/Februar 2008",
"Dateien/Bilder/März 2008",
"Dateien/Bilder/April 2008",
"Dateien/Bilder/April 2008/bis 15.04.",
"Dateien/Bilder/April 2008/ab 15.04."
};
Anhand dieses Arrays, in welchem einzelne Ordnerpfade gespeichert sind, soll nun ein JTree aufgebaut werden.
Dazu ist in der Methode buildTree() das Array entsprechend auszuwerten und mit Hilfe von DefaultMutableTreeNodes in einen JTree einzufügen. Sämtliche Ansätze hatten einfach nicht hingehaut. Irgendwo ist dann immer ein Haken :-(
Ich bin zwar noch ziemlicher Anfänger, aber es ärgert mich doch sehr, dass ich diese Aufgabe nun einfach nicht lösen kann.
Meine Idee war eigentlich, dass ich zunächst einen Wurzelknoten erzeuge,dann alles einfach an diese Wurzel hänge und diese schließlich dem Tree übergebe. Das Problem ist aber, dass ich einfach nicht herausfinden kann, welche Knoten nun an welchen gehängt werden soll. Kann mir bitte jemand auf die Sprünge helfen ? Vielen Dank im voraus!
Im Anhang ist mein aktueller, verzweifelter Stand ... Im Kopf des Programms ist die Musterausgabe des Baumes.
Gruß
Fabian
ich hänge gerade den ganzen Tag an einer Aufgabe und komme einfach weiter und nun bin ich auf dieses Forum gestoßen. Es geht um folgendes: Gegeben ist ein Array mit den folgenden Beispiel Einträgen:
static final String [] folderPathNames = {
"Dateien/Musik/Rock/Abba",
"Dateien/Musik/Rock/Zappa",
"Dateien/Musik/Jazz",
"Dateien/Bilder/Februar 2008",
"Dateien/Bilder/März 2008",
"Dateien/Bilder/April 2008",
"Dateien/Bilder/April 2008/bis 15.04.",
"Dateien/Bilder/April 2008/ab 15.04."
};
Anhand dieses Arrays, in welchem einzelne Ordnerpfade gespeichert sind, soll nun ein JTree aufgebaut werden.
Dazu ist in der Methode buildTree() das Array entsprechend auszuwerten und mit Hilfe von DefaultMutableTreeNodes in einen JTree einzufügen. Sämtliche Ansätze hatten einfach nicht hingehaut. Irgendwo ist dann immer ein Haken :-(
Ich bin zwar noch ziemlicher Anfänger, aber es ärgert mich doch sehr, dass ich diese Aufgabe nun einfach nicht lösen kann.
Meine Idee war eigentlich, dass ich zunächst einen Wurzelknoten erzeuge,dann alles einfach an diese Wurzel hänge und diese schließlich dem Tree übergebe. Das Problem ist aber, dass ich einfach nicht herausfinden kann, welche Knoten nun an welchen gehängt werden soll. Kann mir bitte jemand auf die Sprünge helfen ? Vielen Dank im voraus!
Im Anhang ist mein aktueller, verzweifelter Stand ... Im Kopf des Programms ist die Musterausgabe des Baumes.
Gruß
Fabian
Code:
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
/**
*
* Beispielausgabe:
*
* Dateien
* Musik
* Rock
* Abba
* Zappa
* Jazz
* Bilder
* Februar 2008
* März 2008
* April 2008
* bis 15.04.
* ab 15.04
*
**/
public class BuildingAJTree extends JFrame {
static final String [] folderPathNames = {
"Dateien/Musik/Rock/Abba",
"Dateien/Musik/Rock/Zappa",
"Dateien/Musik/Jazz",
"Dateien/Bilder/Februar 2008",
"Dateien/Bilder/März 2008",
"Dateien/Bilder/April 2008",
"Dateien/Bilder/April 2008/bis 15.04.",
"Dateien/Bilder/April 2008/ab 15.04."
};
public static void main( String[] argv ) {
new BuildingAJTree("Simple Tree");
}
public BuildingAJTree(String title) {
super( title );
buildTree();
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible( true );
}
private void buildTree() {
//TODO build up the Tree
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Dateien");
root.setParent(null);
for (int i = 0;i<folderPathNames.length;i++) {
DefaultMutableTreeNode groupNode = new DefaultMutableTreeNode(folderPathNames[i]);
//alle einträge zwischen '/' teilen
String [] folders = folderPathNames[i].split("/");
for (String string : folders) {
DefaultMutableTreeNode child = new DefaultMutableTreeNode(string);
groupNode.add(child);
}
root.add(groupNode);
}
JScrollPane js = new JScrollPane( new JTree(root));
add(js);
}
}