java课程设计文本编辑器_第1页
java课程设计文本编辑器_第2页
java课程设计文本编辑器_第3页
java课程设计文本编辑器_第4页
java课程设计文本编辑器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南人文科技学院计算机系课程设计报告课程名称:Java程序设计课程代码:题 目:文本编辑器年级/专业/班:07级计算机科学与技术1班学生姓名:肖毅、陈耀学 号:、指导老师:郭 广 军开题时间:2008年12月22日完成时间:2009年01月03日2009年1月5日 前 言Java课程设计是计算机科学与技术专业学生的专业实践必修课程,是学习Java程序设计课程非常重要的综合性实践教学环节。课程设计是检验学生是否掌握相关专业课程知识的重要手段,同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生实践应用能力和自学能力的培养。课程设计

2、任务书及成绩评定课程名称:Java程序设计完成者:肖毅、陈耀1 、设计的目的与要求(1)设计的目的: Java课程设计是计算机科学与技术专业学生的专业实践必修课程,是学习Java程序设计课程非常重要的综合性实践教学环节。课程设计是检验学生是否掌握相关专业课程知识的重要手段,同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生实践应用能力和自学能力的培养。通过设计文本编辑器并实现其功能来熟练掌握JAVA语言基础,初步掌握软件开发中系统分析、系统设计、系统实现和系统测试等阶段的基本方法与技术,培养学生的创新意识,提高实践应用能力,为

3、培养应用型人才服务。(2)做文本编辑器的要求: 菜单要求: 要求有新建 、保存、另存为、退出 、拷贝、剪切、粘贴、帮助等功能。要求其操作简单、界面清晰、灵活、实用、方便。要求程序须经调试,并添加异常处理和代码注释,同时在功能实现后,要将代码进行优化。最好能响应键盘和鼠标事件,同时可添加快捷键。 2 、设计进度及完成情况日 期内 容2008年12月22日准备和审题、接受任务,开发环境配置等2008年12月2324日查找相关资料,系统调查,需求分析2008年12月25日系统建模2008年12月26日概要设计2008年12月2728日详细设计2008年12月2931日编码测试2008年01月01日部

4、署、配置、运行2009年01月0203日撰写课程设计报告2009年01月04日课程设计总结2009年01月05日正式提交课程设计报告和系统源程序3、成绩评定设计成绩: (教师填写)指导老师: (签 字)2009 年 月 日目 录1引言12设计任务与目的14 系统设计24.1 总体设计34.1.1 系统类图34.2详细设计36 系统实现66.1 系统主要用例的实现76.1.1运行用例运行效果76.1.2 打开文档用例运行效果76.1.3 关于用例运行效果87 结束语8参考文献9致谢9附录A:系统源程序9附录B:编码规范12文本编辑器1 引言计算机的普及发展,软件行业在社会占着举足轻重的作用。现今

5、市场中存在的文本编辑器已不是少数几种,而且功能已相对齐全,但我们作为未来从事软件行业的专业人士,借着软件发展的周期,研究这个课题,在学习过程掌握文本编辑器以及JAVA的相关知识很有必要,既随科技发展的前沿,又方便了我们的生活。事实上,因为暂时知识的限制性,我们只能做一个比较简单的文本编辑器,通过一学期对JAVA 的了解和课程设计培训,以及对文本编辑器主要功能的详细研究,我们将其功能转化为了程序代码。主要分为编辑区、输入区等,此文本编辑器含有保存、 退出、查找、拷贝、剪切、粘贴等简要功能,其操作简单、界面清晰、灵活、实用、方便等优点,适用于简便的存档及撰写文稿。2 设计任务与目的1)设计一个简单

6、的文本编辑器,可以实现以下功能: 1:文件的新建,打开,保存和另存; 2:对文件的编辑,如全选,复制,剪切,粘贴; 3:执行完操作后,能够顺利关闭记事本。 2)通过这次设计,可以帮助学生:1:提高对Java语言设计的掌握能力; 2:理论联系实际,进一步提高学生的软件开发技术; 3:培养学生分析、解决问题的能力。3. 需求分析 在科学技术飞速发展的今天,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用JAVA技术实现学生学习实践是可行而必要的工作 。在社会生活中我们经常需要用电脑编写一些文档来保存文件,本课程设计是运用了JAVA软件开发工

7、具开发的应用软件。适合编写记录文件。 训练学生灵活应用所学Java语言的基本知识,熟练的完成问题分析、算法设计、编写程序,求解出指定的问题;训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养严谨的科学态度和良好的工作作风; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力运行要求: 由于本程序是运用JAVA语言编成的,所以首先必须在电脑上安装JAVA虚拟机,并对环境变量进行设置。完成JAVA的环境设置后,在集成环境Eclipse中进行编程。 4 系统设计4.1 总体设计4.1.1 系统类图图4-1 系统类图4.2 详细设计(1)类或

8、包的加载 import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;(2). 设计一个主类,变量的定义public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); /文本窗格,编辑窗口 JLabel statusBar = new JLabel(); /状态栏 JFileChooser filechooser = new JFileChooser();

9、 /文件选择器 public EditorDemo() /构造函数 super(简单的文本编辑器); /调用父类构造函数 Action actions = /Action数组,各种操作命令 new NewAction(), new OpenAction(), new SaveAction(), new CutAction(), new CopyAction(), new PasteAction(), new AboutAction(), new ExitAction(); setJMenuBar(createJMenuBar(actions); /设置菜单栏 Container contain

10、er = getContentPane(); /得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); /增加工具栏 container.add(textPane, BorderLayout.CENTER); /增加文本窗格 container.add(statusBar, BorderLayout.SOUTH); /增加状态栏 setSize(330, 200); /设置窗口尺寸 setVisible(true); /设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOS

11、E); /关闭窗口时退出程序 private JMenuBar createJMenuBar(Action actions) /创建菜单栏 JMenuBar menubar = new JMenuBar(); /实例化菜单栏 JMenu menuFile = new JMenu(文件); /实例化菜单 JMenu menuEdit = new JMenu(编辑); JMenu menuAbout = new JMenu(帮助); menuFile.add(new JMenuItem(actions0); /增加新菜单项 menuFile.add(new JMenuItem(actions1);

12、 menuFile.add(new JMenuItem(actions2); menuFile.add(new JMenuItem(actions7); menuEdit.add(new JMenuItem(actions3); menuEdit.add(new JMenuItem(actions4); menuEdit.add(new JMenuItem(actions5); menuAbout.add(new JMenuItem(actions6); menubar.add(menuFile); /增加菜单 menubar.add(menuEdit); menubar.add(menuAb

13、out); return menubar; /返回菜单栏 private JToolBar createJToolBar(Action actions) /创建工具条 JToolBar toolBar = new JToolBar(); /实例化工具条 for (int i = 0; i actions.length; i+) JButton bt = new JButton(actionsi); /实例化新的按钮 bt.setRequestFocusEnabled(false); /设置不需要焦点 toolBar.add(bt); /增加按钮到工具栏 return toolBar; /返回工

14、具栏 (3).文件操作功能的实现class NewAction extends AbstractAction /新建文件命令 public NewAction() super(新建); public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文档 class OpenAction extends AbstractAction /打开文件命令 public OpenAction() super(打开); public void actionPerformed(A

15、ctionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /显示打开文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中打开选项 File f = filechooser.getSelectedFile(); /得到选择的文件 try InputStream is = new FileInputStream(f); /得到文件输入流 textPane.read(is, d); /读入文件到文本窗格 catch (Exception ex) ex.printStackTra

16、ce(); /输出出错信息 class SaveAction extends AbstractAction /保存命令 public SaveAction() super(保存); public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /显示保存文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中保存按钮 File f = filechooser.getSelectedFile(); /得到选择的文件 try

17、FileOutputStream out = new FileOutputStream(f); /得到文件输出流 out.write(textPane.getText().getBytes(); /写出文件 catch (Exception ex) ex.printStackTrace(); /输出出错信息 class ExitAction extends AbstractAction /退出命令 public ExitAction() super(退出); public void actionPerformed(ActionEvent e) System.exit(0); /退出程序 cla

18、ss CutAction extends AbstractAction /剪切命令 public CutAction() super(剪切); public void actionPerformed(ActionEvent e) textPane.cut(); /调用文本窗格的剪切命令 class CopyAction extends AbstractAction /拷贝命令 public CopyAction() super(拷贝); public void actionPerformed(ActionEvent e) textPane.copy(); /调用文本窗格的拷贝命令 class

19、PasteAction extends AbstractAction /粘贴命令 public PasteAction() super(粘贴); public void actionPerformed(ActionEvent e) textPane.paste(); /调用文本窗格的粘贴命令 class AboutAction extends AbstractAction /关于选项命令 public AboutAction() super(关于); public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog

20、(EditorDemo.this, 简单的文本编辑器演示); /显示软件信息 public static void main(String args) new EditorDemo(); 6 系统实现6.1 系统主要用例的实现6.1.1运行用例运行效果 图6-1 运行用例运行效果图6.1.2 打开文档用例运行效果图6-2 打开文件用例运行效果图6.1.3 关于用例运行效果 图6-3 用例演示运行效果7 结束语作为计算机科学与技术大二的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。在已度过的大二的时间里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何

21、去锻炼我们的实践面?如何把我们所学到的专业基础理论知识用到实践中去呢?我想做类似的大作业就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当数查阅大量的书籍了。为了让自己的设计更加完善,更加符合软件工程标准,一次次翻阅各种参考资料是十分必要的,同时也是必不可少的。我们是在作设计,但我们不是艺术家。他们可以抛开实际,尽情在幻想的世界里翱翔,我们是软件设计师,一切都要有据可依.有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。作为一名专业学生掌握一门或几门程序设计语言是必不可少的,由于本次课程设计要求用java进行开发,在这过程中我对各种的开发环境进行了探索,这使我对j

22、ava的集成开发环境有了更深刻的理解虽然去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率好高,记得大一学c语言好难就是因为我们没有把自己放在使用者的角度,单单是为了学而学,这样效率当然不会高。边学边用这样才会提高效率,这是我作本次课程设计的第二大收获。但是由于水平有限,难免会有错误,还望老师批评指正。参考文献 1 张广彬,孟红蕊,张永宝.Java课程设计案例精编M.北京:清华大学出版社,2007,1.2 黄晓东.Java课程设计案例精编M.北京:中国水利水电出版社,2004,5.3 求是科技. Java信息管理系统开发实例导航M.北京:人民邮电出版社,2005,4.4 求是科技.J

23、ava数据库系统开发实例导航M.北京:人民邮电出版社,2004,9. 5 java编程思想,机械工业出版社,1999年4月6java项目设计与开发范例,电子工业出版社,2005年4月,唐小军等7标准java 2 使用手册,电子工业出版社,2005年1月,魏海萍8java开放源码编程,电子工业出版社,2005年1月,沃纳斯致谢非常感谢郭广军老师对我们的指导,让我们能学会这门课程并且成功地完成了本次课程设计,还有设计过程中给予我们帮助的同学、朋友,有了大家的共同努力才有今天的成果。附录A:系统源程序package Wenben;import java.awt.*;import java.awt.e

24、vent.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;/简单的文本编辑器public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); /文本窗格,编辑窗口 JLabel statusBar = new JLabel(); /状态栏 JFileChooser filechooser = new JFileChooser(); /文件选择器 public EditorDemo() /构造函数 super(简单的文本编辑器

25、); /调用父类构造函数 Action actions = /Action数组,各种操作命令 new NewAction(), new OpenAction(), new SaveAction(), new CutAction(), new CopyAction(), new PasteAction(), new AboutAction(), new ExitAction(); setJMenuBar(createJMenuBar(actions); /设置菜单栏 Container container = getContentPane(); /得到容器 container.add(creat

26、eJToolBar(actions), BorderLayout.NORTH); /增加工具栏 container.add(textPane, BorderLayout.CENTER); /增加文本窗格 container.add(statusBar, BorderLayout.SOUTH); /增加状态栏 setSize(330, 200); /设置窗口尺寸 setVisible(true); /设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /关闭窗口时退出程序 private JMenuBar createJMenuBar(A

27、ction actions) /创建菜单栏 JMenuBar menubar = new JMenuBar(); /实例化菜单栏 JMenu menuFile = new JMenu(文件); /实例化菜单 JMenu menuEdit = new JMenu(编辑); JMenu menuAbout = new JMenu(帮助); menuFile.add(new JMenuItem(actions0); /增加新菜单项 menuFile.add(new JMenuItem(actions1); menuFile.add(new JMenuItem(actions2); menuFile.

28、add(new JMenuItem(actions7); menuEdit.add(new JMenuItem(actions3); menuEdit.add(new JMenuItem(actions4); menuEdit.add(new JMenuItem(actions5); menuAbout.add(new JMenuItem(actions6); menubar.add(menuFile); /增加菜单 menubar.add(menuEdit); menubar.add(menuAbout); return menubar; /返回菜单栏 private JToolBar cr

29、eateJToolBar(Action actions) /创建工具条 JToolBar toolBar = new JToolBar(); /实例化工具条 for (int i = 0; i actions.length; i+) JButton bt = new JButton(actionsi); /实例化新的按钮 bt.setRequestFocusEnabled(false); /设置不需要焦点 toolBar.add(bt); /增加按钮到工具栏 return toolBar; /返回工具栏 class NewAction extends AbstractAction /新建文件命

30、令 public NewAction() super(新建); public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文档 class OpenAction extends AbstractAction /打开文件命令 public OpenAction() super(打开); public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.t

31、his); /显示打开文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中打开选项 File f = filechooser.getSelectedFile(); /得到选择的文件 try InputStream is = new FileInputStream(f); /得到文件输入流 textPane.read(is, d); /读入文件到文本窗格 catch (Exception ex) ex.printStackTrace(); /输出出错信息 class SaveAction extends AbstractAction /保存命令 public SaveAction() super(保存); public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /显示保存文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论