1、 目 录 1 绪论 . 1 1.1 课题研究的背景及意义 . 1 1.2 文本编辑器软件的应用现状 . 1 1.3 本文工作和结构安排 . 2 1.3.1 本文主要工作 . 2 1.3.2 本文结构安排 . 3 1.4 小结 . 3 2 相关技术介绍 . 4 2.1 Java 技术 . 4 2.1.1 Java 特点 . 4 2.1.2 程序开发常用包 . 5 2.2 小结 . 6 3 系统分析与设计 . 7 3.1 软件需求分析 . 7 3.2 系统类设计 . 8 3.3 系统总体设计 . 13 3.3.1 设计原理 . 15 3.3.2 功能模块划分 . 15 3.4 小结 . 17 4
2、详细设计与实现 . 18 4.1 系统开发平台及工具选择 . 18 4.2 主窗体设计与实现 . 18 4.3 新建功能设计与实现 . 20 4.3.1 新建功能概述 . 20 4.3.2 新建功能技术分析 . 20 4.3.3 新建功能实现过程 . 21 4.4 打开功能设计与实现 . 21 4.4.1 打开功能概述 . 21 4.4.2 打开功能技术分析 . 21 4.4.3 打开功能实现过程 . 22 4.5 保存功能设计与实现 . 22 4.5.1 保存功能概述 . 22 4.5.2 保存功能技 术分析 . 22 4.5.3 保存功能实现过程 . 23 4.6 全选功能设计与实现 .
3、23 4.6.1 全选功能概述 . 23 4.6.2 全选功能技术分析 . 23 4.6.3 全选功能实现过程 . 23 4.7 退出功能设计与实现 . 24 4.7.1 退出功能概述 . 24 4.7.2 退出功能技术分析 . 24 4.7.3 退出功能实现过程 . 24 4.8 查找功能设计与实现 . 25 4.8.1 查找功能概述 . 25 4.8.2 查找功能技术分析 . 25 4.8.3 查找功能实现过程 . 25 4.9 查找下一个功能设计与实现 . 26 4.9.1 查找下一个功能概述 . 26 4.9.2 查找下一个功能技术分析 . 26 4.9.3 查找下一个功能实现过程 .
4、 26 4.10 替换功能设计与实现 . 27 4.10.1 替换功能概述 . 27 4.10.2 替换功能技术分析 . 27 4.10.3 替换功能实现过程 . 28 4.11 设置字体功能设计与实现 . 28 4.11.1 设置字体功能概述 . 28 4.11.2 设置字体功能技术分析 . 28 4.11.3 设置字体功能实现过程 . 28 4.12 编译功能设计与实现 . 29 4.12.1 编译功能概述 . 29 4.12.2 编译功能技术设计 . 29 4.12.3 编译功能实现过程 . 30 4.13 运行功能设计与实现 . 30 4.13.1 运行功能实现概述 . 30 4.13
5、.2 运行功能技术分析 . 30 4.13.3 运行功能实现过程 . 31 4.14 获取系统时间功能设计与实现 . 31 4.15 复制功能设计与实现 . 31 4.16 剪切功能设计与实现 . 32 4.17 粘贴功能设计与实现 . 32 4.18 帮助功能设计与实现 . 32 4.19 小结 . 33 5 测试目的 . 34 5.1 测试目的 . 34 5.2 功能测试 . 34 5.3 界面测试 . 34 5.4 小结 . 36 6 结束语 . 37 6.1 总结 . 37 6.2 展望 . 37 附 录 . 38 参考文献 . 40 致 谢 . 41 平顶山 学院本科毕业设计 1 1
6、 绪论 本章是论文的序言部分,将论述论文研究的背景、意义、研究现状以及论文要完成的工作。文本编辑器的应用是编写文本的重要编辑软件,良好的界面以及使用方便是重要前提,通过对现有的应用现状的分析,提出了本课题的研究方向。最后将给出本文的主要组织结构,从整体上阐述论文的工作。 1.1 课题研究的背景及意义 随着计算机技术的不断发展,文本编辑器已成为大家必不可少的工具 ,但是不同的用户对文本编辑器有不同的功能需求,除了像 Office 中的 word 还有 WPS 等大众文本编辑器,还需要一些 操作简单,帮助电脑初学者的 文本编辑器。市场上出现的和用户所使用的文本编辑器种类繁多,功能也是各式各样,其中
7、有相当一部分是很优秀的 1。 例如, word 软件提供了可以编辑文字图形、图像、声音、动画,还可以插入其他软件的制作信息;提供了强大的制表功能;提供了大量的模板;提供了 web 工具的支持等, WPS 也提供了强大的文本编辑功能。但是电脑初学者学习 word 和 WPS是非常困难的,很多功能都不知道如何使用 ,如在文本中的页码问题、页眉问题、格式问题等。因此开发一个操作简单,易于学习的文本编辑软件对电脑初学者显得较为重要。 1.2 文本编辑器软件的应用现状 信息化时代的步伐加快了我们的生活脚步,也提高了我们的生活质量和工作效率。文本编辑器软件作为大家编辑文本的重要工具,基本上代替了手写,利用
8、文本编辑软件可以高效的进行文本的编辑。这种工作方式已经成为当下重要工作的模式之一。 文本编辑软件能够帮助人们适应现在的高速度的生活,能够对用户编辑的文本进行打开、修改、替换、查找、粘贴、复制、剪切和保存等功能,能够更加快速的 完成工作,帮助用户提高工作效率。现在有太多的文本编辑软件,而且文本编辑软件有的功能繁多,学习它们的功能需要发费很长的时间,并且很多功能是不容易学习的。对于文本编辑的电脑初学者来说不知道如何使用这些功能强大的文本编辑软件,并且学起来不是很容易,而他们只需要会使用文本编辑软件的基础功能 2。因此设计一个操作简单,易于学习,界面优美的文本编辑器是现在文本编辑软件应该解决的问题。
9、 基于 Java 的文本编辑软件的设计与实现 2 1.3 本文工作和结构安排 针对文本编辑器软件的开发过程,本文在软件工程理论的指导下,以一个实际文本编辑器开发为背景,提出一种基于 Java 技术的文本编辑器的设计与实现方案,并进行文本编辑器软件的设计开发实践。该小节概述本文主要工作和结构安排 。 1.3.1 本文主要工作 本文主要研究并完成基于 Java语言的文本编辑软件的设计与实现。本文针对现有软件存在的一些问题,在软件工程理论指导下,进行文本编辑器软件的分析、设计与实现,并详细讨论了 软件 实现过程当中的相关技术。具体工作内容如下: 1.文本编辑软件的需求分析 本文在软件工程理论 的 指
10、导下,通过实地调研去 了解文本编辑 人员对文本编辑软件的各种功能需求,总结现有 编辑 人员的工作流程,分析现有文本编辑器 的问题,最后确定本文要完成的文本编辑器软件。 2.文本编辑器软件的 类设计 本文针对项目的需求,通过深入比较己有的基础架构,分析研究 Java所能采用具体技术的优缺点与适用情况,对整个 软件所需要的类 进行了设计,对各个模块的功能进行了定义和划分。软件采用 Java技术,以 Windows自带的记事本为开发平台。 3.文本编辑软件的设计 文本编辑软件的设计遵循低耦合,高聚合的模块划分原则,把具有复杂功能的 软件 通过设计分解为具有基本独立,功能简单,易于实现等特点的文件、操
11、作、格式、演示,格式、帮助等多个功能模块,并详细阐 述了每个模块的功能设计。 4.文本编辑软件 的实现 该部分的工作主要包含以下 4个方面: (1) 功能的实现,文本编辑软件要实现用户的基本需求,要实现文本编辑器的主要功能,包括新建功能、打开功能、保存功能、全选功能、复制功能、剪切功能、粘贴功能、查找功能、替换功能和帮助功能 。 (2) 详细阐述文本编辑软件实现过程中 的 相关技术问题,这些相关技术问题包括Java语言的掌握以及使用、各个功能模块的实现、主界面的设计 。 (3) 文本编辑软件的开发平台及工具的选择,选用 windows自带的记事本进行业务实现, Java虚拟 机作为后台支持。软
12、件使用 Java语言编写代码,采用 Java的 GUI(图形用户界面 )窗体进行的主窗体的开发。 (4) 文本编辑软件的测试,编制详细完善的测试用例并进行测试,以保证系统的质量。 平顶山 学院本科毕业设计 3 通过上述研究拟达到如下预期目标: 通过文本编辑软件的开发 和设计 ,满足文本编辑人员需要,为 文本编辑用户 提供一个良好的编辑界面,提高用户的 工作 效率。 1.3.2 本文结构安排 本软件是通过对现有文本编辑器本身的特点,主要作用等各方面进行全面综合的了解,分析,归纳和总结,结合文本编辑器的主要功能,开发的应用软件。本文详细介绍 了软件的开发过程和各个模块的功能。运用面向对象的方法进行
13、软件分析和软件设计。 本文主要分六个部分的内容: 1 绪论 : 本章主要介绍了 课题研究 的 背景及意义、文本编辑软件的 应用 现状和论文的工作和结构安排。 2 相关技术 介绍 : 本章 主要介绍了 Java 技术,从 Java 特点 和 Java 程序的开发常用包 来说明 。 3 系统分析与 设计 : 本章 主要讲的是系统的功能需求分析、 系统 类设计和 系统的总 体设计 。 4 详细设计与实现 : 本章 主要讲的是系统开发平台及工具的选择和主窗体的设计和软件的主要功能的 设计 以及软件的详细 实现 。 5 测试 :本章主 要讲的是 系统的 功能测试和界面测试,达到预期的功能效果。 6 结束
14、语 : 本章主要讲的是 总结、展望 。总结本文的主要工作和对未来工作的展望。 1.4 小结 本章首先介绍了本软件研究的背景及意义,研究现状,帮助了解该课题需要完成的功能,最后介绍了论文主要工作和结构安排,以便于可以在保证论文质量的前提下按照计划顺利地完成本论文的撰写。 基于 Java 的文本编辑软件的设计与实现 4 2 相关技术介绍 软件开发的实践过程离不开理论的指导和工具的应用。本章将主要介绍文本编辑软件设计和实践过程中使用到的 Java 软件技术理论知识。通过对开发技术知识的深入研究,为该系统的 设计与实现做好充分的知识准备。 2.1 Java 技术 2.1.1 Java 特点 Java
15、是一个简单的、面向对象的、分布的、健壮的、安全的、与平台无关的、可移植的、高性能的、多线程的,以及动态的解释型语言 3。 由于 Java 最初是为控制电子产品设计的,因此它简单明了。为了保证这种简单性, Java 去掉了 C+中许多复杂的、冗余的、有二义性的概念,例如操作符重载、多继承、数据类型自动转换等。为了将程序员从复杂的内存管理的负担中解脱出来,同时也是为了减少错误, Java 使用了自动内存垃圾收集机制,程序员只要在需要的 时候申请即可,不需要释放 ,而由 Java 自己来收集、释放内存中的无用的块 4。 1.Java 是一种支持分布式操作的程序设计语言。使用 Java 提供的 URL
16、 类,用户可以象访问本地文件一样访问网络上的对象,使用非常方便。在客户机 /服务器的模式下, Java 还可以将运算从服务器端分散到客户端,提高系统的效率,避免了服务器的瓶颈制约。 Java 的网络类库支持分布式的编程。 Socket 类提供可靠的流式网络的连接,支持 TCP/IP 协议。通过编写协议句柄,程序员还可以扩充 Java 支持的协议集合。 2.Java 提供非常有效的安全 控制。由于 Java 应用于网络程序的开发,因而安全性至关重要。因为 Java 小程序需要下载到客户端解释执行,所以,如果没有安全控制,就会给一些网络黑客以可乘之机,这对用户来说是非常危险的。所幸的是, Java
17、的安全机制可以有效的防止病毒程序的产生、下载程序对本地文件系统的破坏,以及网络黑客窃取密码和入侵。 3.Java 是一种非常健壮的语言。因为在 Java 中使用了以下手段: (1) 自动内存垃圾收集机制。 Java 自动收集无用的内存单元,进而防止了由于内存泄漏导致的动态内存分配问题。 (2) 完善的异常处理机制。既简 化了错误处理任务和恢复,也增加了程序的可读性 5。 4.Java 具有非常好的平台无关性和可移植性。 Java 使用一种与平台无关的代码平顶山 学院本科毕业设计 5 字节码,而不是通常的特定机器上的机器码,由平台上的 Java 虚拟机中的 Java解 释器解释执行。使用 Jav
18、a 作为编程语言,只要进行一次程序开发工作,所开发的程序不需要经过任何改动,便能在各种平台上运行。 Java 采用基于国际标准的数据类型使 Java 的应用程序不依赖与具体的系统。 5.Java 是一种高性能的语言。健壮性、安全性、平台无关性、可移植性等方面的提高总是要以牺牲性能为代价 的。 Java 的内存管理增加了运行时系统的复杂性,因为Java 运行时系统必须内嵌一个内存管理模块;同样, Java 程序的解释执行的效率也要低于直接执行编译后的源码的效率。但是 Java 采用了一些很好的措施来弥补这些性能上的差距: (1) 生成高效的字节码。 Java 字节码的设计充分考虑了性能的因素,字
19、节码的格式简单,解释器可以生成高效的机器码。 (2) 提供了即时编译和嵌入 C 代码的可选措施。即时编译是指在运行时把字节码编译成机器码 6。 2.1.2 程序开发常用包 Java 中的包指的是目录,它是为了更好的管理 Java 类和接口。 Java 语言的包可以被另一个 Java 开发包所使用,如果要引用某个包中的类,用 import 关键字 表明 7。 Java 中常见的包有: java.applet、 java.awt、 java.io、 java.lang、 java.util 和 javax.swing等。其中 java.applet 包含了一些设计小应用程序的类和接口; java.
20、awt 是一个窗口工具箱包,里面是一些 GUI 界面相关的类; java.io 包支持输入输出,比如文件输入流类; java.lang 包含线程,异常,系统整数等相关的类,是 Java 程 序中默认加载的一个包; java.util 包含一些程序的公用类; javax.swing 包括 Swing 容器、组件及相关设置的类和接口。 1.java.awt 程序包 Java.awt 程序包提供了创建图形用户界面的全部工具,包括:图形组件类,如窗口,对话框,按钮,复选框,列表,菜单,滚动条和文本区等类;用于管理组件排列布局管理器 Layout 类以及常用的颜色 Color 类,字体 Font 类。
21、Java.awt.evevt 类库用来处理不同类型的事件。 2.java.applet 程序包 Java.applet 是所有 java 小程 序的基础类库。它只包含了一个 applet 类,所有小程序都是由该类派生出来的。 3.java.lang 程序包 Java.lang 是 Java 语言的基础类库,包含基本数据类型,数学函数,字符串类等。这是唯一自动引入每个 Java 程序的类库。 基于 Java 的文本编辑软件的设计与实现 6 4.java.io 程序包 Java.io 程序包是 Java 语言的输入输出类库, Java 语言的文件操作都是由该类库中的输入输出类来实现的,此外该类库还
22、提供了一些与其他外部设备交换信息的类。Java.io 程序包除了包含标准输入输出类以外,还有缓存流,过滤流,管道流和字符串类等。 5.javax.swing 程序包 Javax.swing 程序包提供了三个通用的顶层容器类 JFrame,JDialog 和 JApplet。JFrame 类提供了基于窗体的应用程序, JDialog 类提供对话框形式的界面, JApplet提供 Java 小应用程序的界面形式。常用的 Swing 组件包括按钮、单选按钮、复选框、文本区、文本字段、列表、下拉列表、树和表格等。 2.2 小结 本章研究了文本编辑器所使用的理论知识和工具环境。通过这一章的研究,主要研究和掌握以下两点: 1.Sun 公司的 Java 技术; 2.Java 程序的开发常 用的包。本章为后续章节的软件分析、设计和实现做了强有力的技术支持。 平顶山 学院本科毕业设计 7 3 系统分析与 设计 需求分析是软件开发的基础,需求分析得出的结论是软件开发后续阶段的工作依据,直接决定着最终软件能否满足用户的需求,决定着软件开发的成功与否。而系统设计的也是系统开发的重点和难点,严重的影响者软件的质量。本章将主要完成文本编辑器的需求分析和系统设计。 3.1 软件需求分析 需求在软件产品的整个生存期中占有非常