Hallo !
Bin gerade dabei mir ein Verzeichnisbaum in Java nachzubauen.
Dieser soll mir alle meine Verzeichnisse ab dem Root verzeichnis anzeigen.
in der Console kann ich mir dies anzeigen lassen. Nur leider noch nicht in einem Fenster.
Habe noch hier noch etwas zur Anzeige in einem Fenster:
Ich habe mom keine Idee wie ich die beiden Codes mit einer verbinden kann, damit mir alle Ordner als ein Verzeichnisbaum angezeigt wird .
Bin für Hilfe dankbar !
Grüße
ava98
Bin gerade dabei mir ein Verzeichnisbaum in Java nachzubauen.
Dieser soll mir alle meine Verzeichnisse ab dem Root verzeichnis anzeigen.
in der Console kann ich mir dies anzeigen lassen. Nur leider noch nicht in einem Fenster.
Code:
package id3;
import java.awt.Container;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class Dir {
public static void fil() {
File folder = new File("n:/"); // Startverzeichnis
File[] files = folder.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
System.out.print(files[i].getAbsolutePath());
if (files[i].isDirectory()) {
System.out.print(" (Verzeichnis)" + i + "\n");
listDir(files[i]); // ruft sich selbst mit dem
// Unterverzeichnis als Parameter auf
} else {
System.out.print(" (Datei)\n");
}
}
}
}
public static void listDir(File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
System.out.print(files[i].getAbsolutePath());
if (files[i].isDirectory()) {
System.out.print(" (Verzeichnis)" + i + "\n");
// listDir(files[i]); // ruft sich selbst mit dem
// Unterverzeichnis als Parameter auf
} else {
System.out.print(" (Datei)\n");
}
}
}
}
private static File[] getFiles(String filename) {
File path = new File(filename);
File files[] = path.listFiles();
return files;
}
public static void main(String[] args) {
fil(); // Methoden Aufruf
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Wurzel");
for (int ast = 0; ast < 4; ast++) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode("Knoten "
+ ast);
root.add(node);
// for (int blatt = 1; blatt < 4; blatt++)
// node.add(new DefaultMutableTreeNode("Blatt " + (ast * 3 + blatt)));
node.add(new DefaultMutableTreeNode("Blatt "));
}
JTree tree = new JTree(root);
frame.add(new JScrollPane(tree));
frame.pack();
frame.setVisible(true);
tree.getSelectionModel().addTreeSelectionListener(
new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath path = e.getNewLeadSelectionPath();
System.out.println(path);
}
});
}
}
Habe noch hier noch etwas zur Anzeige in einem Fenster:
Code:
public static void listen() {
JList liste = new JList(getFiles("c:/"));
}
listen();
Ich habe mom keine Idee wie ich die beiden Codes mit einer verbinden kann, damit mir alle Ordner als ein Verzeichnisbaum angezeigt wird .
Bin für Hilfe dankbar !
Grüße
ava98