【发布时间】:2016-01-18 09:05:54
【问题描述】:
我已尝试使用该代码将目录列出到树
我设置name = "D:/folder"
文件夹目录有很多文件和文件夹
但我得到的只是一个带有名称(文件夹)的节点
public class tree {
JTree tree;
DefaultMutableTreeNode node1;
DefaultMutableTreeNode temp;
DefaultMutableTreeNode temp2;
DefaultTreeModel model;
String name = new currentfolder().getInitial(); // path to directory that its
// content appear in tree
public tree() {
tree = new JTree();
node1 = new DefaultMutableTreeNode(name);
temp = node1;
import_data(new File(name));
temp.setParent(node1);
model = new DefaultTreeModel(node1);
tree.setModel(model);
model.reload();
tree.setOpaque(false);
tree.setBorder(javax.swing.BorderFactory.createCompoundBorder(
new javax.swing.border.SoftBevelBorder(
javax.swing.border.BevelBorder.RAISED),
javax.swing.BorderFactory.createTitledBorder("")));
tree.setVisible(true);
}
public void import_data(File file) {
if (file.isFile()) {
temp2 = new DefaultMutableTreeNode(file.getName());
temp2.setParent(temp);
return;
} else {
if (file.isDirectory()) {
if (!file.getName().equals(name)) {
temp2 = new DefaultMutableTreeNode(file.getName());
temp2.setParent(temp);
temp = temp2;
}
File[] f = file.listFiles();
for (int i = 0; i < f.length; i++) {
import_data(f[i]);
}
}
}
}
那我该如何解决呢?
如果有修复该代码的方法会更好,然后以另一种方式列出到树
【问题讨论】: