当前位置:文档之家› Java课程设计文档

Java课程设计文档

Java课程设计报告题目:文本编辑器年级专业:07级信息与计算科学学号:20074043031 2007404303220074043033 20074043034 学生姓名:周勇李朝黄峰陈爽指导老师:彭胜完成时间:2010年 7月 1 日目录摘要 (3)前言 (3)1 需求分析 (4)1.1需求分析 (4)1.2功能设计 (4)2 概要设计 (4)2.1程序设计思路 (4)2.2程序运行界面 (5)2.3程序相关说明 (5)3 程序详细设计与分析 (6)3.1初始化组件 (7)3.2构建菜单栏及其下拉菜单及其事件监听 (7)3.3异常处理 (8)4.测试分析 (9)5.课程设计总结 (11)6.参考文献 (11)7. 附录 (12)文本编辑器程序的设计摘要该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有,打开文件,保存文件,另存为,退出,撤消,剪切,复制,粘贴,删除,自动换行,关于等功能,该程序主要用到了Java swing包和事件监听等。

关键字:文本编辑器,Java语言,JCreator前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。

后来它的开发者们发现它还可以被用于更大范围的Internet上。

1995年,Java语言的名字从Oak编程了Java。

1997年J2SE1.1发布。

1998年J2SE1.2发布,标志Java2的诞生。

十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。

Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。

它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。

Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。

Java的平台标准有Java ME,Java SE和Java EE。

Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。

目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。

其中Java Development Kit 简称JDK是大多开发工具的基础。

以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。

在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。

1需求分析1.1需求分析现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoftNotepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有能改变字体的,有能改变文字颜色的。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的文本编辑器程序。

1.2功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:1.菜单中有“文件”,“编辑”,“格式”“帮助”三个主菜单。

2.“文件”有“打开”“保存”“另存为”“退出”四个子菜单:分别用于打开文件,保存文件,另存为文件,退出记事本。

3.“编辑”中有“撤销”“剪切”“复制”“粘贴”“刷除”五个子菜单:用于撤销上一步操作,剪切文字,复制文字,粘贴文字,刷出文字。

4.“格式”中有“自动换行”子菜单:用来对文字的自动换行;5.“帮助”菜单中有“关于”子菜单关于文本编辑器程序的制作等信息2.概要设计2.1程序设计思路在本程序中,设计了一个菜单栏和文本内容区和状态栏。

设计过程中用到了JScollPane,JLable,JMenu,JTextArea,JFileChooser,UndoManager等。

JMenu用来制作菜单,菜单包括“文件”“编辑”“格式”“帮助”。

JTextArea主要用来输入文本,JLable 主要用来创建状态栏。

2.2程序运行界面2.3程序相关说明整个记事本分为2快:菜单栏和文本输入区和状态栏。

本程序中首先定义一个JNotePadUI类继承JFrame作为最底层容器。

① textarea为程序文本输入区;② MenuBar为菜单栏;③要想记事本完成需求分析中相应的功能,还必须添加事件监听器。

事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。

本程序中ActListener实现了ActionListener 接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。

另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了WindowsAdapter类并覆盖了WindowsClosing方法。

3.程序详细设计与分析3.1.初始化组件JMenuBar menuBar = new JMenuBar();textArea = new JTextArea();stateBar = new JLabel("未修改");3.2.构建菜单栏及其下拉菜单及其事件监听menuOpen.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {openFile();} });menuSave.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {saveFile();} });menuSaveAs.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {saveFileAs();} });menuQuit.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {closeFile();}});menuUndo.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {undo();}});textArea.getDocument().addUndoableEditListener(undomg);menuCut.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {cut();}});menuCopy.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { copy();}});menuPaste.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {paste();}});menuDelete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {delete();} });menuWrapline.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {wrapline();}});menuAbout.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// 显示对话框JOptionPane.showOptionDialog(null,"程序名称:\n 记事本 \n" +"程序设计:\n 黄峰 \n" +"简介:\n 一个简单的文字编辑器\n" +" 可作为验收Java的实现对象\n" +" ","关于JNotePad",JOptionPane.DEFAULT_OPTION,RMATION_MESSAGE,null, null, null);}});3.3.异常处理在运行程序代码是有可能会产生异常情况或异常事件,为了避免这种情况,就需要在程序中用到Java异常处理机制。

本程序中选用的异常处理机制是try,catch。

捕获处理异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。

private void saveFile() {File file = new File(getTitle());if(!file.exists()) {saveFileAs();}else {try {BufferedWriter buf =new BufferedWriter(new FileWriter(file));buf.write(textArea.getText());buf.close();stateBar.setText("未修改");}catch(IOException e) {JOptionPane.showMessageDialog(null, e.toString(), "写入文件失败", JOptionPane.ERROR_MESSAGE);}}}4.测试分析点击“编辑”运行情况“文件”菜单中的“打开”对话框“帮助”的“关于”对话框5.课程设计总结经过差不多两个星期的努力,基本上完成我的Java课程设计—简单的文本编辑器程序,也基本上实现了我在需求分析时所预期的功能。

通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java 及其强大的功能。

同时,做这门课程设计也进一步加强了我的动手能力。

相关主题