面向对象程序设计—文本编辑器的设计与实现
- 格式:doc
- 大小:325.01 KB
- 文档页数:29
课程设计报告书
课程名称面向对象程序设计
设计题目文本编辑器的设计与实现
专业班级
学号
姓名
指导教师
年月
目录
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);