记事本的设计与实现Java版实验报告.docx
《记事本的设计与实现Java版实验报告.docx》由会员分享,可在线阅读,更多相关《记事本的设计与实现Java版实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
记事本的设计与实现Java版实验报告
报告编号:
第九组
JAVA课程设计报告
记事本的设计与实现
学生姓名:
指导教师:
所在系:
电子信息系
所学专业:
计算机科学与技术
年级:
2010年12月
摘要1
第1章前言2
1.1研究背景2
1.2开发意义2
1.3本文的组织结构2
第2章需求分析3
2.1系统功能分析3
2.2设计目标4
第3章概要设计5
第4章详细设计7
4.1文件模块的详细设计7
4.1.1新建模块的详细设计7
4.1.2打开模块的详细设计8
4.1.3保存、另存模块的详细设计8
4.1.4退出模块的详细设计9
4.2编辑模块的详细设计9
4.2.1撤销模块的详细设计9
4.2.2剪切模块的详细设计10
4.2.3复制模块的详细设计11
4.2.4粘贴模块的详细设计11
4.2.5删除模块的详细设计12
4.2.6全选模块的详细设计12
4.2.7查找、替换模块的详细设计13
4.3格式模块的详细设计14
第5章系统测试15
5.1程序主界面15
5.2文件界面15
5.3编辑菜单17
第6章小结28
参考文献28
摘要
本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。
此次实训程序设计主要分为两大部分:
简单GUI设计和程序功能设计。
通过GUI设计实现图形用户界面,提供图形菜单,方便用户操作。
使用Java语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。
通过设计和实现一个具有基本功能的简单记事本,提高我们对Java语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培养我们分析、解决问题的能力。
关键字:
记事本程序Java语言事件监听awt和swing组件文件操作功能
第1章前言
1.1研究背景
记事本的设计与实现是对文本编辑必不可少的文本编辑器,能够为用户提供简单便捷的文本编辑操作。
1.2开发意义
随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。
1.3本文的组织结构
本记事本的主要功能为:
打开合法存在的文本、新建未使用的纯文本、对文本进行复制、撤消、剪切、全选、查找替换、撤消上一步的操作、设置字体的格式大小等。
第一章:
前言。
本章主要介绍研究背景和开发意义。
第二章:
需求分析。
本章主要介绍记事本的需求分析,系统功能分析等。
第三章:
概要设计。
本章主要介绍记事本各模块的概要设计。
第四章:
详细设计。
本章主要介绍记事本各模块的详细设计。
第五章:
系统测试。
本章主要介绍记事本的运行环境与测试。
第2章需求分析
系统的需求分析根据记事本建立的一般流程,分析了系统的具体功能,对系统做了总体的规划,提出了系统的设计目标,介绍了系统的开发及运行环境。
2.1系统功能分析
1.新建操作
用户可以根据需要,建立新的记事本文档,进行操作。
2.打开操作
用户在可以打开任何文本内容进行操作。
3.保存操作
用户在对文本操作进行以后,可以按照需求进行保存操作。
4.撤销操作
若文本内容不符合用户的需求,可以撤销当前的操作。
5.剪切操作
用户可以可按照需求,对需要的内容进行剪切,将其移植其他处。
6.复制操作
移植的内容可以进行复制,这样更方便用户修改相应内容。
7.粘贴操作
将要复制的内容进行粘贴。
8.删除操作
删除不需要的内容。
9.查找操作
该功能为了方便用户进行查找文本内容中需要的内容。
10.替换操作
用户根据需要选择自己需要替换的内容,方便使用。
11.全选操作
全选内容方便用户进行相应的剪切,复制,粘贴等内容。
12.格式操作
用户可根据需求将文本内容进行字体设置。
13.退出操作
用户不需要进行任何操作时候,可以退出。
2.2设计目标
通过分析,主要实现如下目标:
(1)编写新建模块。
用户新建任何文本文档。
(2)编写打开模块。
用户可打开电脑中的任何文本文档。
(3)编写保存模块。
保存已操作的文本内容。
(4)编写退出模块。
退出记事本。
(5)编写撤销模块。
撤销当前编辑的文本内容。
(6)编写剪切模块。
将需要编辑的内容进行剪切。
(7)编写复制模块。
复制用户选中的内容。
(5)编写粘贴模块。
粘贴需要复制的内容。
(6)编写删除模块。
删除选中的文本内容。
(7)编写查看模块。
查找用户需要的内容。
(5)编写替换模块。
替换文本中的一些内容。
(6)编写全选模块。
选中需要进行操作的文本内容。
(7)编写格式模块。
按照需求对文本内容进行相应设置。
第3章概要设计
本应用软件是简单的记事本,其能实现文件的新建、打开、保存、另存、退出,撤销、剪切、复制、粘贴、删除、全选、查找、替换,对字体进行设置。
为实现这些功能,需要设置以下模块:
主模块如图3.1所示:
图3.1主模块
文件相关功能模块如图3.2所示:
图3.2实现文件功能的模块
文档编辑模块如图3.3所示:
图3.3文档编辑模块
格式设置模块如图3.4所示:
图3.4格式设置模块
第4章详细设计
4.1文件模块的详细设计
4.1.1新建模块的详细设计
用户选择新建后,先检测当前的文本内容是否修改过。
如果未修改过,则新建一个空文本文档。
如果修改过,先弹出提示保存对话框,提示用户是否保存,如果选择“是”,先保存当前文本内容,再新建一个空文本文档。
如果选择“否”,则直接新建一个空文本文档。
如图4.1所示:
图4.1新建模块流程图
4.1.2打开模块的详细设计
用户选择打开时,先检测文件是否存在。
如果存在,选择需要打开的文件,则文本区域内显示被选中文本的内容。
如图4.2所示:
图4.2打开模块流程图图4.3保存、另存模块流程图
4.1.3保存、另存模块的详细设计
当用户选择保存或另存时,先检测文件内容是否修改过。
如果修改过,保存对文档的修改。
如图4.3所示:
4.1.4退出模块的详细设计
当用户选择退出时,弹出提示保存对话框,询问用户是否保持。
如果选择“是”,先保存文档,再退出程序。
如果选择“否”,直接退出程序。
如图4.4所示:
图4.4退出模块流程图图4.5撤销模块流程图
4.2编辑模块的详细设计
4.2.1撤销模块的详细设计
打开一个文本文档,当用户选择编辑或右键弹出菜单中的撤消操作后,判断一个文本是否已被修改,若已修改,撤消上一步的操作,否则不进行任何操作。
如图4.5所示:
4.2.2剪切模块的详细设计
打开一个文本文档,当用户选择编辑菜单或右键弹出菜单中的剪切操作后,判断一个文本是否被选中,若已选中,删除选中的文字,并将选中的文字传输到系统剪切板中,否则不进行任何操作。
如图4.6所示:
图4.6剪切模块流程图图4.7复制模块流程图
4.2.3复制模块的详细设计
打开一个文本文档,当用户选择编辑菜单或右键弹出菜单中的复制操作后,判断一个文本是否被选中,若已选中,将选中的文字传输到系统剪切板中,否则不进行任何操作。
如图4.7所示:
4.2.4粘贴模块的详细设计
运行程序,打开一个文本文档,在菜单栏上选中编辑菜单或者在文档中右键鼠标菜单,选中“粘贴”,判断文本文档是否进行了复制和剪切操作(即判断系统剪切板是否有内容),如果有就将剪切板的内容粘贴到光标处,没有就继续执行其他操作步骤。
如图4.8所示:
图4.8粘贴模块流程图图4.9删除模块流程图
4.2.5删除模块的详细设计
运行程序,打开一个文本文档,在菜单栏上选中编辑菜单或者在文档中右键鼠标菜单选中“删除”,程序判断文本文档是否有已选中的内容,如果有就将选中的内容删除掉,没有就执行其他操作。
如图4.9所示:
4.2.6全选模块的详细设计
运行程序,打开一个文本文档,在菜单栏上选中编辑菜单或者在文档中右键鼠标菜单,选中“全选”,就选中了文本的所有内容。
如图4.10所示:
图4.10全选模块流程图
4.2.7查找、替换模块的详细设计
查找、替换模块实现对文档中内容的查找和替换操作,方便用户查询所要查找的内容,加快对文档的编辑。
首先在编辑菜单中设置菜单项“查找”和“替换”,然后增加菜单项的监听者,最后实现监听,即实现查找和替换功能。
包括设置响应事件后弹出的对话框界面布局及对应功能按钮的事件处理。
用户运行程序后,先写入要编辑的文本或直接打开文件,然后点击编辑菜单中的“查找”,会弹出查找对话框。
输入要查找的内容后点击“查找”按钮,若查找内容存在则显示出内容,若内容不存在则弹出对话框对用户进行提示。
如图4.11所示:
点击编辑菜单中的“替换”,会弹出替换对话框。
在文本框中分别输入要查找和替换的内容,然后点击“替换”按钮,若查找的内容存在则替换成功,若内容不存在则提示用户查找的内容不存在。
如图4.12所示:
图4.11查找模块流程图图4.12替换模块流程图
4.3格式模块的详细设计
格式菜单主要对编辑的文本文档进行字体设置方便用户的使用。
在主函数中添加格式事件接听器,然后实现接听事件,并写出相应字体设置的用到调用函数,接着利用对话框对字体进行设置。
最后,在对话框中实现对字体的设置。
用户首先打开任何文档文件,然后选择格式菜单里的字体,会出现对话框,对话框包括三个模块,第一个模块主要是字体,大小两个列表以及字形复选框,第二个模块是样例标签,方便用户预览选中字体,第三个模块是确定取消按钮模块,用户根据选择响应对应按钮。
选择对应按钮,用户所打开文本内容相应改变。
如图4.12所示:
图4.12退出模块流程图
第5章系统测试
5.1程序主界面
运行程序后,显示主界面如图5.1所示:
图5.1主界面
5.2文件界面
点击文件,显示文件菜单的各种功能,如图5.2所示:
图5.2文件菜单
点击打开,出现以下打开对话框,如图5.3所示:
图5.3打开文件弹出菜单
例如:
打开了文件“再别康桥”,如图5.4所示:
图5.4文字显示
点击保存,弹出保存对话框,如图5.5所示:
图5.5保存文件弹出菜单
点击退出,弹出提示对话框,如图5.6所示:
图5.6文件保存提示菜单
5.3编辑菜单
通过复制或剪切操作获取的内容,粘贴到想要粘贴到的地方。
对文件内容粘贴操作如图5.7所示:
图5.7选择粘贴
执行粘贴后,如图5.8所示:
图5.8执行粘贴后
选中想要删除的内容,点击编辑菜单上的删除菜单项进行删除操作,具体步骤如图5.9所示:
图5.9选择删除
执行删除后,如图5.10所示:
图5.10执行删除后
选中编辑菜单中的全选操作,步骤如图5.11所示:
图5.11选择全选
全选后,如图5.12所示:
图5.12执行全选后
复制(以右键菜单为例),如图5.13所示:
图5.13进行复制
选中一段文字选择剪切操作,如图5.14所示:
图5.14选择剪切
剪切后原文本的内容如图5.15所示:
图5.15剪切后
选择撤销操作(例撤销上一步的剪切操作)如图5.16所示:
图5.16选择撤销
撤销后原文本的内容如图5.17所示:
图5.17撤销后
先打开要处理的文本文档,单击编辑菜单下的“查找”,如图5.18所示:
图5.18选择查找
然后在弹出的对话框中输入要查找的内容,并选择是向上还是向下查找,如图5.19所示:
图5.19输入查找内容
点击“查找”按钮,进行查询,若查找成功则显示内容,如图5.20所示:
图5.20查找成功
单击一次“查找”按钮,进行一次查找,此处为向下查找,若查找完毕则弹出对话框对用户进行提示,如图5.21所示:
图5.21查找不成功
单击编辑菜单下的“替换”,如图5.22所示:
图5.22选择替换
在弹出的对话框中分别输入查找和替换的内容,并选择是向上还是向下查找,如图5.23
所示:
图5.23输入查找替换内容
单击“替换”按钮,若查找成功则对查找到的内容进行替换,如图5.24所示:
图5.24替换成功
点击一次“替换”按钮,就对匹配的内容进行一次替换,若查找结束则弹出对话框对用户进行提示,如图5.25所示:
图5.25替换失败
点击字体显示如图5.26所示:
图5.26选择字体设置
接着出来对话框:
第一个面板是两个列表和两个复选框,第二个面板是样例标签和按钮,如图5.27所示:
图5.27字体对话框
下面举例说明对文本内容设置的效果图:
(默认自动换行),字形中的“斜体”显示效果:
(字体默认为宋体,大小默认为12)如图5.28所示:
图5.28选择字形为“斜体”后
字体中的“华文琥珀”显示效果:
(无选择字形,大小为12),如图5.29所示:
图5.29选择字体为“华文琥珀”后
第6章小结
本程序是简单的记事本程序。
主要实现以下功能:
文件的新建、打开、保存、另存、退出,对文本内容的撤销、剪切、复制、粘贴、删除、查找、替换、设置字体格式。
该程序操作方便快捷,能满足用户的需求。
各种操作简单明了,为操作者减轻了工作负担。
但是该程序还有很多不足,在编辑文件时,复制、粘贴功能没有实现未选中文本不可用。
我们的程序与windows系统附件中的记事本相比有许多功能都尚未实现,像菜单文件中的页面设计,打印;编辑中的转到,时间/日期;格式中的自动换行;查看和帮助菜单都没有实现。
界面也不是很美观,只能实现基本的功能。
在课堂上学习的知识在我们的程序中都有所涉及,但是由于我们的能力有限,程序并不是很完美,还有很多要进一步改进的地方。
本课程设计是对所学JAVA知识的综合运用,是对学习成果的检验。
通过记事本的设计与实现的课程设计,我们对JAVA语言有了一个全面、细致的认识,对面向对象的程序设计有了更深入的了解,为今后学习其他面向对象的程序设计语言打下了一个良好的基础。
经过这次实训,也让我们体会到了实训的真正意图。
让我们感受到真正融入到实训中的充实和乐趣。
参考文献:
[1]朱福喜.面向对象与java程序设计.北京:
清华大学出版社,2009.3
[2]耿详义,张跃平.Java2实用教程.北京:
清华大学出版社,2004.2
[3]张利国.Java实用教程案例.北京:
清华大学出版社,2003.10
[4]周晓聪.面向对象程序设计与Java语言.北京:
机械工业出版社,2004.3
[5]李尊朝.Java语言程序设计.北京:
中国铁道出版社,2004.2
附录
小组成员及分工: