我正在开发一个资源管理器应用程序。在那我想在JTree
. 任何人都可以帮我做到这一点吗?
问问题
3289 次
2 回答
1
您只需要列出整个文件系统。例如选择一个根目录(在我的例子中,我选择了C:/test
. 使用该方法listFiles()
可以获得根文件包含的所有项目(确保 root 是一个目录!)。然后你遍历这个 File-Array 并将每个项目添加到模型中.
在您的情况下,您需要检查每个子项是目录还是文件。如果它是一个目录,您只需重新开始并列出所有子项目。阅读即将recursion
实现的。
这是我的代码:
/**
*
*/
package tests.fileview;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
/**
* FileViewTest created on 02.10.2013<br>
* <br>
* Specification:<br>
*/
public class FileViewTest extends JFrame {
public static void main(String[] args) {
new FileViewTest().setVisible(true);
}
private JTree tree;
/**
*
*/
public FileViewTest() {
this.initialize();
this.build();
this.configure();
}
/**
*
*/
public void initialize() {
this.tree = new JTree();
}
/**
*
*/
public void build() {
this.add(this.tree);
}
/**
*
*/
public void configure() {
File fileRoot = new File("C:/test");
DefaultMutableTreeNode root = new DefaultMutableTreeNode(fileRoot);
DefaultTreeModel model = new DefaultTreeModel(root);
File[] subItems = fileRoot.listFiles();
for (File file : subItems) {
root.add(new DefaultMutableTreeNode(file));
}
this.tree.setModel(model);
}
}
于 2013-10-02T11:21:05.790 回答
0
我在 Google 上搜索“如何在 JTree 中添加 Windows 目录结构?” 并找到了几个完整的示例,例如“ http://www.java2s.com/Code/Java/File-Input-Output/DisplayafilesysteminaJTreeview.htm ”(谷歌不是很棒吗?)
于 2013-10-02T12:05:45.747 回答