java记事本课程设计论文附源码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计题目:记事本课程设计
专业:电子信息科学与技术
班级:电子1202班
学号:***********
*****
2015 年7月
XXX学院本科学生课程设计任务书
摘要
目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。
关键词记事本程序,java语言,Java swing
目录
摘要 (1)
1 需求分析 (3)
1.1需求分析 (3)
1.2功能设计 (3)
2 概要分析 (4)
2.1概要设计思想 (4)
2.2程序运行界面 (4)
2.3程序模块说明 (4)
2.4流程图 (5)
2.5程序相关说明 (6)
3 程序详细设计与分析 (8)
3.1构建菜单栏及其下拉菜单 (8)
3.2“文件”菜单操作的事件监听 (8)
3.3“编辑”、“格式”等菜单的事件监听 (10)
3.4异常处理 (11)
4 测试分析 (12)
5 源程序清单 (15)
结论 (22)
参考文献 (23)
1 需求分析
1.1需求分析
现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。
1.2功能设计
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:
1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。
2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。
3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。
4、“格式”菜单中有“自动换行”和“字体”两个子菜单。
5、“查看”菜单只是显示状态栏。
6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。
2 概要分析
2.1概要设计思想
在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JMenu,JMenuItem等。JMenu用来制作菜单,菜单包括“文件”“编辑”“格式”“查看”“帮助”。JMenuItem主要用来制作主菜单下面的子菜单。
2.2程序运行界面
图2.1 记事本程序运行界面
2.3程序模块说明
ActionListener
implements
Notepad
图2.2 类Notepad模块
图2.3 程序详细模块2.4流程图
图2.4 程序流程图
2.5程序相关说明
整个记事本分为2快:菜单栏和内容输入区。本程序中首先定义一个Notepad 类继承JFrame作为最底层容器。
(1)、text为程序文本输入区。
(2)、Menu为菜单栏。
(3)、要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事
件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中Listen 和Listen1实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。
3 程序详细设计与分析
3.1构建菜单栏及其下拉菜单
JMenu files=new JMenu("文件(F)");
JMenu edit=new JMenu("编辑(E)");
JMenu formats=new JMenu("格式(O)");
JMenu scan=new JMenu("查看(V)");
JMenu help=new JMenu("帮助(H)");
JMenuItem newFile=new JMenuItem("新建(N)");
JMenuItem open=new JMenuItem("打开(O)...");
JMenuItem save=new JMenuItem("保存(S)");
JMenuItem saveAs=new JMenuItem("另存为(A)...");
JMenuItem exit=new JMenuItem("退出(X)");
JMenuItem undo=new JMenuItem("撤销(U)");
JMenuItem cut=new JMenuItem("剪切(T)");
JMenuItem copy=new JMenuItem("复制(C)");
JMenuItem paste=new JMenuItem("粘贴(P)");
JMenuItem selectAll=new JMenuItem("全选(A)");
JMenuItem timeDate=new JMenuItem("时间/日期(D)");
JCheckBoxMenuItem lineWrap=new JCheckBoxMenuItem("自动换行(M)");
JMenuItem fonts=new JMenuItem("字体...");
JMenuItem status=new JMenuItem("状态栏");
JMenuItem about=new JMenuItem("关于记事本(A)");
3.2“文件”菜单操作的事件监听
class Listen1 implements ActionListener
{
//实现用于对文件进行操作的事件侦听器
public void actionPerformed(ActionEvent e)
{
Object source=e.getSource();
//打开文件事件
if(source==open)