文档介绍:课程设计
题目:利用所学图形界面,线程,流与文件等技术知识,设计一个编辑器
班级:2002级计科3班姓名:王玉刚学号:20024080
需求分析:
在执行本程序时,能显示一个图形界面的文档编辑器,像记事本样子的。
演示程序为计算机和用户的对话形式执行,即在计算机的终端显示图形界面的文档编辑器,然后用户就可以实现编辑,保存等像记事本一样的功能。
程序中包括的功能有:
1)打开以有文件,保存编辑文件,退出编辑器并提醒保存;2)查找编辑区中的字符串,用已知字符串替换查找的字符串;3)显示文件的存取路径;4)剪切,复制,粘贴,删除等;5)改变文本区字体的颜色,字体大小和形状的功能;6)改变文本区背景颜色;7)定时提醒保存功能。
测试程序:
测试者可以随意输入字符串,挨个功能进行测试。
由于所学知识有限,所以难免有很多不如意和不完善的的地方,希望老师批评,指导。
概要设计:
为实现以上程序功能,做以下数据类型说明。
数据类型定义如下:
程序中用到的组件,菜单及对话框的声明如下:
static TS; //内部类线程Threads(实现//定时提醒保存功能)
Frame f;
MenuBar mb; //菜单栏
Menu Mfile,Medit,Mhelp,Mview,Mtool,Msearch,Mwindow,
Fontcolor; //加入菜单栏的一些菜单
MenuItem savemi,saveasmi,exit1,exit2,exitp,saveandexit,
new1,open1;// 上面菜单中的菜单项
MenuItem Fontformat,backgroundcolor; //字体菜单中的菜单项
MenuItem redmi,bluemi,greenmi,cyanmi,magentami,orangemi
,pinkmi,darkGraymi,lightGraymi,yellowmi,
graymi,blackmi; //各种颜色的菜单项
PopupMenu pm; //Frame上的弹出式菜单,其中实现了一些简单的小
//功能如:cut,paste等
Label l,lbackground,lfont,Dl,Dll,Lsearch,Lexsearch,Lexchange;
TextField tf,Dtf,tff,tfred,tfyellow,tfblue,tfSearch,
tfexsearch,tfexchange;
Checkbox cb1,cb2,Dcb1,Dcb2;
Choice c; //
JTextArea ta; //文本编辑区
Panel p,p1,pta;//分别占f是按borderlayout
Dialog Dhelp,Dfontformat,Dbackgroundcolor,Dsearch,Dnosearch,
Dexchange,Dnoexsearch;
FileDialog fd;
String str;
File file1=null;
List Lhelp;
Button bcolor,Bsearch,Bcancle,Bexchange,Bexcancle;
程序中的函数声明如下:
(1).public void surface()
{
//编辑器的显示界面的主要实现部分;
}
初始条件:所需要的各组件等都已声明;
操作结果:创建一个基本符合要求的编辑器的显示界面,但是不能实现任何功能,只是个框加;
(2).public void addlistener()
{
//为各事件加事件监听接口;
}
初始条件:所需要的各种组件等都已创建;
操作结果:(因为这只是一个实现功能和界面接触的中间过程)除了能实现框架和所有对话框的关闭功能之外与上面结果一样;
(3). public void windowOpened(WindowEvent e)
初始条件:对框架以安装了监听器;
操作结果:窗口出现时,设置了编辑区字体的默认属性;
(4). public void actionPerformed(ActionEvent e)
初始条件:对各个动作(如button等)加了监听器;
操作结果:执行程序后,可实现程序中的动作(如按按钮,选择列表)的艘有功能;
(5). public void itemStateChanged(ItemEvent e)
初始条件:对各选择项加了监听器;
操作结果:执行程序后,可实现程序中的单选和多选功能;
(6). public void mouseClicked(MouseEve