面向对象程序设计—文本编辑器的设计与实现

  • 格式:doc
  • 大小:325.01 KB
  • 文档页数:29

下载文档原格式

  / 29
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告书

课程名称面向对象程序设计

设计题目文本编辑器的设计与实现

专业班级

学号

姓名

指导教师

年月

目录

1 设计时间 (1)

2 设计目的 (1)

3设计任务 (1)

4 设计内容 (1)

4.1需求分析 (1)

4.2概要设计 (1)

4.2.1功能结构图 (1)

4.3详细设计 (2)

4.3.1流程图 (3)

4.4系统的功能实现 (4)

4.4.1类或包的加载 (5)

4.4.2设计一个主类,变量的定义 (5)

4.4.3文件操作功能的实现 (6)

4.5运行测试 (25)

4.5.1文本编辑器界面 (25)

4.5.2各功能菜单界面 (25)

5 总结与展望 (26)

参考文献 (26)

成绩评定 (27)

1 设计时间

2011年12月19日~2011年12月25日

2 设计目的

本次设计是学习完《java6程序设计》课程后进行的一次全面的综合练习,目的是加深对本学期课程的理解,通过设计文本编辑器并实现其功能来熟练掌握java语言基础,初步掌握软件开发的基本方法与技术将理论课程中学到的知识运用到实践中,实现有一定规模的Java应用。

3设计任务

本次设计的主要任务是文本编辑器的设计与实现,要求设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。

4 设计内容

4.1需求分析

现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed,xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的文本编辑器程序。

4.2概要设计

4.2.1功能结构图

文本编辑器文件菜单

编辑菜单

格式菜单

查找菜单

帮助菜单

新建

打开

退出

保存

另存为

剪切

全部替换

删除

粘贴

复制

插入文本

替换

自动换行

颜色

字体

向前查找

向后查找

关于

帮助主题

4.3详细设计

4.3.1流程图

(1)文件:

(2)编辑:

文件菜单

打开 确定

另存为

保存

选择打开文件位置

选择文件存放位置

编辑菜单

插入文本 替换

全部替换

输入查找和替换内容

输入要插入的文本

确定

(3)格式:

(4)查找:

(5)其他各功能菜单可直接点击完成操作

4.4系统的功能实现

格式

颜色

字体

选择所需颜色

选择所需字体

确定

查找 确定

向前查找

向后查找

输入查找内容

4.4.1类或包的加载

import java.awt.*;

import java.awt.event.*;

import java.awt.datatransfer.*;

import javax.swing.*;

import java.io.*;

import ng.*;

4.4.2设计一个主类,变量的定义

public class Notepad extends JFrame{

private final Color colorvalues[] =

{ Color.black, Color.blue, Color.red, Color.green }; //定义颜色数组String styleNames[] = { "Bold", "Italic" };//定义风格数组

String fontNames[] = { "宋体", "华文行楷", "隶书" };//字体数组

String[] sizeString = new String[30];//字号数组

int[] size = new int[30];//与字号数组对应的字号整数,用于设置文字大小

private JRadioButtonMenuItem colorItems[], fonts[];

private JCheckBoxMenuItem styleItems[];

private JTextArea displayText;//定义文本编辑区

private ButtonGroup fontGroup, colorGroup;//字体组,跟字色组

private int style;//字体风格

private JScrollPane scroll;//为文本编辑区提供滚动条

private String selectText = "";//存放文本编辑区中选中的文本内容

private JComboBox styleBox,fontBox,sizeBox;//工具栏

private JPanel toolPanel;//存放工具栏

private int rowNumber = 0;

private FileDialog fd = new FileDialog(this);