文件管理器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 事件可以检测分支节点的展开状态。package jluzh.fileViewer;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.DateFormat;
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); //在关闭窗口时候结束程序
//