资源描述:
《ava课程设计报告(记事本程序)5元》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计(论文)题目名称记事本程序课程名称java程序设计课程设计学生姓名学号系、专业指导教师2010年1月3日26摘要本次课程设计的题目是用JAVA语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。本程序主要用到了Javaswing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。关键词:记事本程序;Java语言;swing组件26目录1问题描述32需求分析33概要
2、设计33.1自定义类说明...33.2程序流程图44详细设计74.1jishiben类的实现74.2GUI程序界面设计74.3事件处理95测试分析126课程设计总结166.1设计体会166.2致谢16参考文献17附录(源程序清单)18261问题描述设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。这次课程设计由卢炜、刘秀春、伍霜霜和我四个人合作完成。卢炜负责概要设计,刘秀春负责4.1jishiben类的实现和4.2GUI程序界面设计,伍霜霜负责5测试分析。
3、由于4.3事件处理和撰写程序关系密切,这两项都由我负责。并且根据伍霜霜的测试的结果重新调整程序。2需求分析本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中
4、的指定的字符串,替换文件中的指定的字符串,选定整个文件。(4)“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。3概要设计3.1自定义类说明3.1.1类名:jishiben(1)作用:主类(2)继承的父类:JFrame类(3)实现的接口:windowListener类与actionListener类(4)成员变量说明:Filefile=null;//定义一个空文件privateJLabelstateBar;//定义一个标签privateJTextAreatext;//定义编辑区26privateJMenuBarmb
5、;//定义菜单栏privateJMenufiles,edit,help;//定义菜单privateJMenuItemOpen,New,Save,SaveAs,Exit,Cut,Copy,Paste,Delete,Find,Replace,SelectAll,About;//定义菜单项(5)主要成员方法说明:编辑区键盘事件:KeyListener类如果记事本的编辑区内用键盘输入了字符,就能够被程序监听;窗口的事件监听:windowListener类;菜单项的事件监听:ActionListener类;3.2程序流程图3.2.1主流程
6、图开始输入文字?新建打开保存另存为剪切复制粘贴删除查找替换全选关于退出结束图3.1主流程图NY263.2.2“文件”菜单操作流程图开始“文件”菜单新建另存为File=null打开用JFileChooser()选择所有打开文件路径用unfold()读取所选的文件内容到记事本保存用sava()保存文件用JFileChooser()选择文件另存的路径用sava()保存文件退出或关闭文件是否修改用sava()保存文件Y结束N图3.2“文件”菜单操作流程图用close()关闭文件263.2.3“编辑”菜单操作流程图开始“编辑”菜单剪切全选
7、设置修改标签,text.cut()复制用text.copy()实现粘贴设置修改标签,text.paste()删除设置修改标签,text.replaceRange("",start,end);查找替换用FindAndReplace{}方法实现用text.selectAll()实现退出或关闭文件是否修改用sava()保存文件并结束用close()关闭文件YN图3.3“编辑”菜单操作流程图263.2.4“帮助”菜单操作流程图开始“帮助”菜单关于记事本显示记事本的有关信息结束图3.4“帮助”菜单操作流程图4详细设计4.1jishiben
8、类的实现Filefile=null;//定义一个空文件privateJLabelstateBar;//定义一个标签privateJTextAreatext;//定义编辑区privateJMenuBarmb;//定义菜单栏privateJMenufiles,edi