- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
课?程?设?计
为LINUX设计一个简单的二级文件系统
姓??名?Tracy
院(系)?计算机科学与工程学院
专业班级?
学??号
指导教师?
职??称?讲师
课程设计日期??2011年6月2日至7月1日
目????录
1题目分析??1
2算法设计??1
2.1用户登录模块??1
2.2新建目录模块??2
2.3新建文件模块??3
2.4删除文件模块??4
2.5读取文件模块??5
3设计实现??6
3.1登录界面外观布局??6
3.2树状显示目录??7
3.3新建目录实现主要代码:??10
3.4新建文件实现??12
3.5删除文件实现??14
3.6读取文件实现??16
4设计总结??17
5参考文献??18
1题目分析
为Linux设计一个简单的二级文件系统,可以实现用户登录、列出文件目录、创建目录、创建文件、删除目录、删除文件、读取文件的功能。本次设计采用的开发语言是Java,通过Java来实现整体布局和实现相关的功能。
2算法设计
本次二级文件系统主要分为五大模块,分别是用户登录模块、新建目录模块、新建文件模块、删除文件模块和读取文件模块。用户登录成功后才可以进行其他模块的操作。
2.1用户登录模块
用户登录模块要求用户输入账号与密码,当输入正确后进入主视图并能进行其他模块操作,否则提示账号密码错误并要求用户重新输入(默认的账号和密码都是“123”)。用户登录模块流程图如图1所示。
图1用户登录模块流程图
2.2新建目录模块
新建目录模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的目录名称新建一个目录,否则提示不能新增目录。新建目录模块流程图如图2所示。
图2新建目录流程图
2.3新建文件模块
新建文件模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的文件名称新建一个文件,否则提示不能新增文件。新建文件模块流程图如图3所示。
图3新建文件流程图
2.4删除文件模块
删除文件模块是根据用户鼠标右击时选择到的节点来确定要删除节点的名字与路径,然后判断该节点是目录还是文件。若是文件则直接删除文件,若是目录则进入该目录再删除其全部文件。删除文件模块流程图如图4所示。
图4删除文件模块流程图
2.5读取文件模块
读取文件模块是根据FileDialog类中事先设定的默认路径而打开一个选择对话框,然后根据用户选择的文件而获取文件的名字与路径。最后通过输入流而把读取到的数据显示在一个文本域中。读取文件流程图如图5所示。
图5读取文件模块流程图
3设计实现
3.1登录界面外观布局
登录界面主要代码:
JLabellabelID=null,labelPassword=null,title=null;
JTextFieldid,password;
JButtonconform=newJButton(确认);
JButtoncancle=newJButton(取消);
LoginWindow(){
init();
this.setTitle(登录界面);
this.setBounds(400,200,550,400);
this.setResizable(false);
this.setVisible(true);
}
voidinit(){
this.setLayout(null);
labelID=newJLabel(请输入账号:);
labelID.setBounds(50,100,100,30);
this.add(labelID);
labelPassword=newJLabel(请输入密码:);
labelPassword.setBounds(50,200,100,30);
this.add(labelPassword);
id=newJTextField(20);
id.setBounds(170,100,300,30);
this.add(id);
password=newJTextField(20);
password.setBounds(170,200,300,30);
this.add(password);
title=newJLabel(登录界面);
conform.setBounds(100,280,80,30);
cancle.setBounds(250,280,80,30);
conform.addActionListener(newLoginListener());
cancle.
文档评论(0)