1、 目录 1.概述1 1.1 资源管理器的简介.1 1.2 课程设计的目的.1 1.3 课程设计的内容.1 2 系统需求分析1 2.1 系统目标2 2.2 主体功能2 2.3 开发环境2 3.系统概要设计3 3.1 系统功能模块划分3 3.2 系统流程图.3 4.系统详细设计4 5.测试.10 5.1 测试结果.10 6.参考文献.13 7.附录源程序清单.13 1 概述: 1.1 资源管理器的简介: 资源管理器是 Windows 提供的资源管理工具,我们可以用 它查看电脑的所有资源,特别是它提供的树形的文件系统结构, 使我 们能更直观地认识电脑的文件和文件夹。在实际的使用功能上“资源 管理器”
2、和”我的电脑”没什么不一样,两者都是用来管理系统资源 的,也可以说是用来管理文件的。另外在资源管理器中还可以实现对 文件的操作,如:文件的删除、文件的重命名、文件的新建、文件的 复制、查看文件的属性等。 1.2 课程设计的目的: 通过本次的课程设计,使我们能够更加熟练的运用 java 的相 关知识,能够使用 GUI 图形用户界面把我们编程的思想用图形的形 式展现出来,同时开拓我们的眼界,拓宽我们的思维,让思想碰撞出 火花,使不可能变成可能。 1.3 课程设计的内容: 实现一个类似于资源管理器的仿资源管理器, 要求能以树形的 形式将目录及文件展现出来, 能弹出右键菜单,且要求能实现文件的 删除、
3、文件的重命名、及查看文件的属性等功能。 2 系统需求分析: 2.1 系统目标: 可以正常运行程序,并按照设计目的的预想完成程序的功能。 2.2 主体功能: (1) 设计 GUI 的界面,整个界面只有一个树形的文件及目录 树,出现在界面的左边。用鼠标选中该树的某一个节点,左击可以是 节点进行收缩和展开, 左击两次还可以进行文件的重命名,如果左击 多次,对于可运行文件可以运行该文件。右击可以弹出菜单; (2) 文件夹及文件的删除:对于文件通过文件的删除方法进行 删除,对于文件夹通过先删除文件夹里面的所有文件再删除文件夹, 这里使用了递归删除的方法; (3) 文件的重命名:文件的重命名主要是用到了克
4、隆的方法, 即先生成一个克隆节点,使其于要删除的节点具有相同的引用, 更新 克隆节点的文件名,在删掉选中节点,再生成克隆的文件节点,在将 其插入; (4) 文件的属性:通过文件类提供的各种方法获取文件的属 性,将其在属性框中展现出来,包括是否可读,是否可写,修改时间 是否隐藏等; (5)文件夹及文件的复制:主要是通过 IO 流来实现的,而对于 文件夹则是通过递归的复制文件夹里面的所有文件在复制文件夹的; (6)文件的新建:主要是获取文件的路径,在以此进行文件的 新建,在将其添加到树上; 2.3 开发环境: Eclipse 运行平台进行开发的; 3 系统概要设计: 3.1 系统的功能模块划分:
5、(1)NodeDate.java 类:主要用于创建文件节点类,包括两个成 员变量,一个是文件对象,一个是文件的名称; (2) FolderRendere.java 类:主要是用于绘制节点的,即用 于绘制节点的图标等; (3) MyTree.java 类:主要是窗口的设置,还有鼠标侦听器、 树模型侦听器、菜单中的文件复制、文件删除、文件重命名、文 件新建、文件属性的动作侦听器的各种实现方法; 3.2 系统流程图; 仿资源管理器界面 左键点击窗口任一项目 右键点击窗口任一项目 子项目展开或合并 弹出功能菜单 删除 重命名 属性 复制 新建 4.系统详细设计: (1) 树模型侦听器: model.a
6、ddTreeModelListener(new TreeModelListener() public void treeNodesChanged(TreeModelEvent e)/当树的节点改变时就调用这 个方法 /获得编辑后的节点的父节点 DefaultMutableTreeNode parent = (DefaultMutableTreeNode)(e.getTreePath().getLastPathComponent();/返回从根节点到该节点 的路径,在找到树种最后一个选中的节点 DefaultMutableTreeNode node; try int index = e.getChildIndices();/返回目前修改節點的索引值 node = (DefaultMutableTreeNode)(parent.getChildAt(index0);/getChildAt()方法取得修改的節點對 象. /System.out.println(aClone.toString(); /克隆体更