JTree
jeg roder med et JTree der arbejder ud fra en sti til en aktuel fil.men det virker ikke helt...
kan man få lidt hjælp ?
min kode:
import javax.swing.*;
import javax.swing.tree.*;
import java.io.*;
import java.util.*;
public class STTreeFrame {
private DefaultMutableTreeNode top;
private DefaultMutableTreeNode p1;
public STTreeFrame() {
JFrame frame = new JFrame("Tree example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MutableTreeNode top = createTree();
JTree tree = new JTree(top);
tree.setRootVisible(true);
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
frame.getContentPane().add(new JScrollPane(tree));
frame.pack();
frame.setVisible(true);
}
private MutableTreeNode createTree() {
try{
File dir = new File("C:/filer");
StringBuffer buffer = new StringBuffer();
String[] files = dir.list();
List list = Arrays.asList(files);
files = (String[])list.toArray(new String[0]);
top = new DefaultMutableTreeNode(dir.getCanonicalPath());
for(int i=0; i<files.length; i++){
File file = new File(dir,files[i]);
if(file.isDirectory()){
//en ny mappe her
p1 = new DefaultMutableTreeNode(file.getName());
top.add(p1);
String[] files1 = file.list();
List list1 = Arrays.asList(files1);
files1 = (String[])list1.toArray(new String[0]);
for(int j=0; j<files1.length; j++){
DefaultMutableTreeNode p2 = new DefaultMutableTreeNode(files1[j]);
p1.add(p2);
}//slut for
}//slut if
else{
DefaultMutableTreeNode p1 = new DefaultMutableTreeNode(files[i]);
top.add(p1);
}//slut else
}//slut for
}//slut try
catch (IOException e) {
e.printStackTrace();
}
return top;
}
public static void main (String args[]) {
new STTreeFrame();
}
}
