java文件管理器课程设计报告_文件管理器JAVA课程设计报告

41528d3028836879cd698677c3999917.gif文件管理器JAVA课程设计报告

课 程 设 计 报 告学院、系:专业名称: 网络工程课程设计科目 Java 程序课程设计学生姓名:指导教师:完成时间: 2011 年 3 月-5 月文件管理器一、设计任务与目标编写一个窗口程序,该程序可以打开硬盘中的某个目录,并可以打开目录中某个文件进行浏览。设计要求:1)在界面上设计两个文本区,一个用于显示打开的硬盘上的目录,另一用于打开所选中该目录中的文件。2)设计文本框,用于显示当前的目录位置*3)设计一个“压缩”按钮,和一个指定目录文本框,将选中的这个文件压缩到指定的目录中。二、方案设计与论证对于题目的要求 1),使用布局管理器可以设计两个文本区。对于题目要求 2),使用 JTextField 文本框组件可以实现。对于题目要求 3),使用 JButton 按钮组件实现。对于此题的设计要求,我从总体上进行了构思。运用 Java Swing 高级组件中的 JTree 树组件实现在图形用户界面(GUI)下文件浏览器的编制。Javax.swing.JTree 类提供了组件的功能,可以方便地显示多层次的数据,比如 Windows 文件管理器中的文件列表就是有树状结构实现的。本题设计要求就是 Windows 文件管理器的工作。树组件有节点组成,对树组件的操作实际上就是对树上的节点做添置画叶的操作。树中最基本的对象是节点。使用 JTree 的步骤: (1)创建树(2)对节点的选择做出响应(3)自定义树的外观表现(4)动态改变一棵树(5)创建树的数据模型(6)懒加载孩子(7)如何写 expansion linstener(8)如何写 tree-will-expand listener利用 JTree 类,你可以显示等级体系的数据 Jtree 垂直显示它的数据。树中显示的每一行包含一项数据,称之为节点( node )。每颗树有一个根节点( root node ),其他所有节点是它的子孙。默认情况下,树只显示根节点,但是你可以设置改变默认显示方式。一个节点可以拥有孩子也可以不拥有任何子孙。我们称那些可以拥有孩子(不管当前是否有孩子)的节点为“分支节点”( branch nodes ),而不能拥有孩子的节点为“叶子节点”( leaf nodes )。分支节点可以有任意多个孩子。通常,用户可以通过点击实现展开或者折叠分支节点,使得他们的孩子可见或者不可见。默认情况下,除了根节点以外的所有分支节点默认呈现折叠状态。程序中,通过监听 tree expansion 或者 tree-will-expand 事件可以检测分支节点的展开状态。三、程序框图或流程图,程序清单与调用关系①窗体初始模块加载② 压缩模块加载开始③事件监听结束初始化窗口各个控件构造系统目录树模块对窗口控件进行布局添加控件事件监听显示窗口添加目录根节点遍历添加盘符节点添加节点选择事件监听添加节点展开事件监听设置目录树的显示样式把 rar. 拷贝到系统目录下并配置环境判断系统是否有 WINRARNO应用当前配置环境关于对话框系统关联打开文件刷新文件树④压缩文件普通控件事件捕获,例如:单击按钮启用不同功能树节点选择事件捕获获取文件对象读取文件属性及其摘要,显示在右区域树节点展开事件捕获多线程遍历子节点把子节点添加到树中获取文件位置获取目标文件位置调用 WINRAR 环境中的rar. 进行压缩①位于 FileViewe 类中的构造函数中 (FileViewer.java)②位于 FileViewer 类中 Main 方法中(FileViewer.java)③其中普通事件监听方法位于 FileViewe 类中,树的两个特殊事件监控类位的于DirExpansionListener 和 DirSelectionListener 两个内部类中 (FileViewer.java)④ 位于 Compress 类中 (Compress.java)注:其中 FileNode 类(FileNode.java)为文件节点类,故不在流程范围内FileViwer 流程图version 1.0关闭窗体构造及其刷新文件树回调一、 全部源程序清单package jluzh.fileViewer;import java.awt.*;import java.awt.event.*;import java.io.*;import java.text.Dateat;import javax.swing.*;import javax.swing.tree.*;import javax.swing.event.*;public class FileViewer extends JFrame implements ActionListener{/*** FileView 程序的主窗口*/private static final long serialVersionUID = 1L; //Eclipse 自动生成的序列化版本 id 号private JTree m_tree; //文件夹树private DefaultTreeModel m_model; //默认树显示模式private JTextArea m_rightTextArea; //右边的文本显示区域private JTextField m_PathDisplay; //底部的路径显示区域private JButton m_openBtn; //打开文件按钮private JButton m_compressBtn; //压缩文件按钮private JButton m_refreshBtn; //刷新按钮private JButton m_aboutBtn;private String m_szFileExcutePath; //文件打开绝对路径public FileViewer(){super(“FileViewer“); //设置窗口标题this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //在关闭窗口时候结束程序// //************************************************************************************// 初始化成员变量// //************************************************************************************/*其中 m_tree 的初始化在《构造系统目录树》中*//*其中 m_model 的初始化在《构造系统目录树》中*/m_rightTextArea = new JTextArea();m_rightTextArea.setEditable(false); //右面文本显示区域不可写m_PathDisplay = new JTextField();m_PathDisplay.setEditable(false); //下面路径显示区域不可写//初始化按钮并添加事件响应m_openBtn = new JButton(“打开文件----利用系统关联打开文件“);m_openBtn.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值