Java实训报告电子版Word格式.doc
《Java实训报告电子版Word格式.doc》由会员分享,可在线阅读,更多相关《Java实训报告电子版Word格式.doc(16页珍藏版)》请在冰豆网上搜索。
实训成绩
指导教师评语
指导教师签名:
______________
_______年____月____日
课程实训报告书
……………………………装……………………………………订…………………………………线……………………………
目录
目录 1
1实训目的 2
1.1实训目的 2
1.2实训要求 2
2文本编辑器系统的分析与设计 2
2.1系统功能描述 2
2.2系统模块设计 2
2.3数据库结构设计 3
3主要代码清单 4
3.1生成菜单栏及菜单项 4
3.2监听事件处理 5
4程序运行与测试 6
4.1文本区功能测试 6
4.2文件菜单功能测试 6
4.3编辑菜单功能测试 7
4.4工具菜单功能测试 11
5实训总结 14
13
文本编辑器的设计和实现
1实训目的
1.1实训目的
《Java程序设计实训》是计算机专业一门重要的专业技术基础实践课程。
为了能够较好的完成实训任务,学生应具备软件开发技术的基础知识,实训的主要目的在于将理论与实际应用相结合,使用程序设计语言java,以及相关软件设计开发知识完成软件的设计开发任务。
本实训课程将为整个专业的学习以及软件设计水平的提高打下良好的基础,提高学生项目分析、设计、编写、调试和测试的能力,并培养基本的、良好的团队合作能力。
1.2实训要求
实训中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握软件开发技术,提高分析、解决实际问题的能力
本次实训要求在学生能够较熟练使用java程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
2文本编辑器系统的分析与设计
2.1系统功能描述
通过此系统可以实现如下功能:
1)可进行文件的新建、打开、保存、编辑等基本功能。
2)支持复制、剪切和粘贴操作
3)可进行查找和替换操作
2.2系统模块设计
根据系统自带的文档编辑器的特征设计,包括如下的功能模块:
一、整体结构框架包括:
菜单栏和文档编辑区
二、每个框架分别包含不同的子框架,各个模块的具体框架:
Ø
菜单栏:
文件、编辑、工具
菜单栏中各个子菜单功能
文件:
新建、打开、保存、另存为、退出
编辑:
剪切、复制、粘贴
工具:
查找、替换
子菜单功能的实现主要的几个功能介绍
1)打开与另存为:
两个窗体调用系统函数直接利用,注意格式的选择
2)查找:
查找内容、查找、查找下一个
文本编辑区
监视文本内容是否改变、监听光标所在位置
2.3数据库结构设计
1.程序E-R图
菜单栏
文件
编辑
工具
新建
打开
保存
另存为
退出
剪切
复制
粘贴
查找
替换
3主要代码清单
3.1生成菜单栏及菜单项
publicvoidaddmyMenu()//菜单函数,生成菜单
{
JMenuBarmenubar=newJMenuBar();
//菜单栏添加若干菜单
this.setJMenuBar(menubar);
Stringmenustr[]={"
文件"
"
编辑"
工具"
帮助"
};
//菜单栏字符串数组
JMenumenu[]=newJMenu[menustr.length];
for(inti=0;
i<
menu.length;
i++){//为菜单栏赋值
menu[i]=newJMenu(menustr[i]);
menubar.add(menu[i]);
}
Stringmenuitemstr0[]={"
新建"
打开"
保存"
另存为"
退出"
//文件菜单中添加若干菜单项
JMenuItemmenuitem0[]=newJMenuItem[menuitemstr0.length];
menuitem0.length;
i++){//为文件菜单赋值
menuitem0[i]=newJMenuItem(menuitemstr0[i]);
menu[0].add(menuitem0[i]);
menuitem0[i].addActionListener(this);
//为每个菜单项注册监听事件
Stringmenuitemstr1[]={"
剪切"
复制"
粘贴"
//编辑菜单中添加若干菜单项
JMenuItemmenuitem1[]=newJMenuItem[menuitemstr1.length];
menuitem1.length;
i++){
menuitem1[i]=newJMenuItem(menuitemstr1[i]);
menu[1].add(menuitem1[i]);
menuitem1[i].addActionListener(this);
Stringmenuitemstr2[]={"
查找"
替换"
//工具菜单中添加若干菜单项
JMenuItemmenuitem2[]=newJMenuItem[menuitemstr2.length];
menuitem2.length;
menuitem2[i]=newJMenuItem(menuitemstr2[i]);
menu[2].add(menuitem2[i]);
menuitem2[i].addActionListener(this);
JMenuItemmenuitemstr3=newJMenuItem("
);
//帮助菜单中添加帮助菜单项
menu[3].add(menuitemstr3);
menuitemstr3.addActionListener(this);
//注册监听事件
}
3.2监听事件处理
注册监听事件,当进行操作时,监听事件活得事件源并选择相应的操作,对不同的事件调用不同的函数,得到文本操作的不同结果。
classMyItemListener_fontimplementsItemListener{//字体监听器
publicvoiditemStateChanged(ItemEvente){
id_font=((java.awt.List)e.getSource()).getSelectedIndex();
switch(id_font){
case0:
{
ta.setFont(newFont("
TimesNewRoman"
Font.PLAIN,ta.getFont().getSize()));
//普通文字
break;
}
case1:
Font.BOLD,ta.getFont().getSize()));
//粗体文字
}
case2:
Font.ITALIC,ta.getFont().getSize()));
//斜体文字
}}}}
4程序运行与测试
4.1文本区功能测试
a)字体的显示,开始的时候不做任何操作的时候显示的默认值,通过修改字体的属性来修改字体。
b)对文本事件进行监听,如果文本编辑窗口中如果有事件触发,关闭时能够有必要的信息提示。
c)状态栏的可以正常显示文本的状态信息。
4.2文件菜单功能测试
文件中的功能测试:
a)通过文件字符流读取文件,创建缓冲区存储文件流。
b)当保存文件时,先判断文件是否未被保存过,如果未被保存过,则创建新文件并通过输出流来存储文件,当文件已经保存过再对文件进行修改时,则会提示保存的消息窗体。
c)另存为是通过不同的方法来创建一个新的文件。
附:
打开与保存代码:
miSave.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(fileName.equals("
"
)){//如果文件没有被保存过,即文件名为空
FileDialogd=newFileDialog(mainFrame,"
savefile"
FileDialog.SAVE);
//保存文件对话框
d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口
publicvoidwindowClosing(WindowEventee){
System.exit(0);
}
});
d.setVisible(true);
Strings=ta.getText();
//得到所输入的文本内容
try//异常处理
{
Filef=newFile(d.getDirectory()+d.getFile());
//新建文件
fileName=d.getDirectory()+d.getFile();
//得到文件名
BufferedWriterbw=newBufferedWriter(newFileWriter(f));
//输入到文件中
bw.write(s,0,s.length());
bw.close();