2个回答
展开全部
之前做过一个东西 用到的技术跟你需要的类似 .可以给你参考一下
我用的JTree.耐性看完 应该会对你有帮助
大致说下思路
先准备一个遍历文件夹的方法 .递归这东西,能不用 尽量别用
File file = new File("D:/");这里举例遍历D盘
LinkedList<File> dir = new ....;准备一个目录数组
ArrayList<File> fs = new.....;准备一个文件数组
dir.add(file);
for(File f : dir){
if(f.isDirectory()){//如果是数组 装进去文件夹数组
dir.add(f)
}else if(f.isFile()){//如果是标准文件 装进这个数组
fs.add(f);
}
}
大概就这样遍历..细节没过多考虑 手写没经过编译不知道有没有错 大致算法就这样
fs里面装的就是你给定文件夹里所有的标准文件
再来显示
1.首先,要求给定一个文件夹目录,显示在树上,并可以展开.既然要显示在树上,那就必须得是个TreeNode
这有句代码:
DynamicUtilTreeNode root = new DynamicUtilTreeNode(FileSystemView.getFileSystemView().getHomeDirectory(),new Object[0]);
这句代码的意思 是获取到桌面File,并把它转换成一个DynamicUtilTreeNode.
2.用你给定文件转换出来的TreeNode 构建一个TreeModel
DefaultTreeModel treeModel = new DefaultTreeModel(root)
root表示你给定文件转换出来的TreeNode.
3.这下方便了,把fs里和dir里的所有文件 和文件夹转换成TreeNode 再根据他们的路径 插入到这棵树中..用这个方法(是treemodel上的方法 所以要构建一个这个,十分方便)
一个3个参数
treeModel.insertNodeInto(这个参数填TreeNode, dutn(这个表示父节点), getTreeNodeChildCount(dutn) );//最后这个参数是插入位置,我这样写 是插入到末尾
----------------------------------------------------
大概就这样了.不过一般来说 树不显示文件只显示文件夹(参照windows的资源管理器) 显示文件的可以用个JList来做 .
希望对你有帮助把 ,我自己也算回顾了下以前写的东西...
我用的JTree.耐性看完 应该会对你有帮助
大致说下思路
先准备一个遍历文件夹的方法 .递归这东西,能不用 尽量别用
File file = new File("D:/");这里举例遍历D盘
LinkedList<File> dir = new ....;准备一个目录数组
ArrayList<File> fs = new.....;准备一个文件数组
dir.add(file);
for(File f : dir){
if(f.isDirectory()){//如果是数组 装进去文件夹数组
dir.add(f)
}else if(f.isFile()){//如果是标准文件 装进这个数组
fs.add(f);
}
}
大概就这样遍历..细节没过多考虑 手写没经过编译不知道有没有错 大致算法就这样
fs里面装的就是你给定文件夹里所有的标准文件
再来显示
1.首先,要求给定一个文件夹目录,显示在树上,并可以展开.既然要显示在树上,那就必须得是个TreeNode
这有句代码:
DynamicUtilTreeNode root = new DynamicUtilTreeNode(FileSystemView.getFileSystemView().getHomeDirectory(),new Object[0]);
这句代码的意思 是获取到桌面File,并把它转换成一个DynamicUtilTreeNode.
2.用你给定文件转换出来的TreeNode 构建一个TreeModel
DefaultTreeModel treeModel = new DefaultTreeModel(root)
root表示你给定文件转换出来的TreeNode.
3.这下方便了,把fs里和dir里的所有文件 和文件夹转换成TreeNode 再根据他们的路径 插入到这棵树中..用这个方法(是treemodel上的方法 所以要构建一个这个,十分方便)
一个3个参数
treeModel.insertNodeInto(这个参数填TreeNode, dutn(这个表示父节点), getTreeNodeChildCount(dutn) );//最后这个参数是插入位置,我这样写 是插入到末尾
----------------------------------------------------
大概就这样了.不过一般来说 树不显示文件只显示文件夹(参照windows的资源管理器) 显示文件的可以用个JList来做 .
希望对你有帮助把 ,我自己也算回顾了下以前写的东西...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询