实验报告
课程名称Java程序设计(课程设计)
实验项目名称 我的记事本
班级与班级代码10专软件技术一班
实验室名称(或课室)
专 业 软件技术
任课教师 刘晓璐
学 号: 310010122
姓 名: 林樾
实验日期: 20##年 12月 20日
广东商学院华商学院教务处 制
1. 设计思路和框图;
1.1程序中主要的类的功能和结构;
设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。
1.1.1界面设计
在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
1.1.2功能设计
在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同界面。
1.1.3代码设计
编写每个控件的相关代码,并进行调试。
2. 实现各种功能的主要代码
2.1创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
f=new Frame(s);
p1=new TextArea("");
f.setSize(400,600);f.setBackground(Color.white);
f.setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
menu3=new Menu("帮助");
item1=new MenuItem("新建");
item2=new MenuItem("打开");
item3=new MenuItem("保存");
item4=new MenuItem("另存为");
item5=new MenuItem("退出");
item6=new MenuItem("全选");
item7=new MenuItem("复制");
item8=new MenuItem("剪切");
item9=new MenuItem("粘贴");
item10=new MenuItem("关于");
menu1.add(item1);
menu1.add(item2);
menu1.add(item4);
menu1.add(item5);
menu2.add(item6);
menu2.add(item7);
menu2.add(item8);
menu2.add(item9);
menu3.add(item10);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
f.setMenuBar(menubar);
2.2 对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
item9.addActionListener(this);
item10.addActionListener(this);
2.3 部分菜单项的相关代码:
2.3.1新建文件
if (e.getSource()==item1)
{ if (i==0&&(ss.length()!=0)){ bc(); }
else
p1.setText("");i=0;f.setTitle("文件对话框"); }
打开文件
if (e.getSource()==item2)
{ fd=new FileDialog(f,"打开文件",0);
fd.setVisible(true);
try{ file=new File(fd.getDirectory(),fd.getFile());
f.setTitle(fd.getFile()+"文件对话框");
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);String line = null;
String view = "";
while((line=br.readLine())!=null)
{ view += line+"\n"; }
p1.setText(view);
br.close();
fr.close(); }
catch(IOException expIn)
{} }
2.3.2复制文件
if (e.getSource()==item7)
{ try{
String str=p1.getSelectedText();
if(str.length()!=0)
{ strt=str;
} }catch(Exception ex)
{ } }
2.3.3 粘贴文件
if (e.getSource()==item9)
{ if(strt.length()>0)
{ p1.insert(strt,p1.getCaretPosition());
}
2.3.4退出记事本
if (e.getSource()==item5)
{ if (i==0 &&(ss.length()!=0))
{ bc(); } else { System.exit(0); } }
3. 程序调试以及存在的不足需要改进的地方
3.1界面调试
确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。
3.2功能调试
对所有菜单项进行注册监听。当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。在具体实现中可以用变量i来判断文件是否处于保存状态。
3.3 程序不足
3.3.1程序缺乏查找替换功能;
3.3.2不能较好地使用输入输出流;
3.3.3 代码过多,需要简化代码实现更多的功能;
姓名 实验报告成绩
评语:
指导教师(签名)
年 月 日
说明:指导教师评分后,实验报告交系办公室保存。
长 春 大 学
课 程 设 计 说 明 书
题目名称 院(系) 计算机科学技术学院 专业(班级) 学生姓名指导教师起止日期20xx年1月6日至20xx年1月10日
河南机电高等专科学校学生课程设计报告实验课程名称Java程序设计开课实验室实验楼308机房系、部计科系年级11专业班软件技术学生姓…
Java语言程序设计综合实验报告系别计算机科学与技术系学科专业信息管理与信息系统课题题目qq聊天系统人员及分工白娟20xx1006…
Java课程设计报告课目计算器学院基础学院班级光信息20xx1学生指导教师丁振凡张晓瑞辅导教师江宇完成时间20xx年7月1日课程设…
河北科技大学课程设计报告学生姓名祝冬冬学号专业班级计算机科学与技术课程名称学年学期指导教师2011年6月课程设计成绩评定表目录示例…
软件学院课程设计报告书课程名称设计题目专业班级学号姓名指导教师年月目录JAVA日历设计31设计目标32设计要求33制作要点34设计…
Java程序设计课程设计报告20xx20xx年度第1学期Hannio塔专业学生姓名班级学号指导教师完成日期计算机科学技术网络工程马…
Java高级课程设计报告课程设计名称Java高级课程设计学期13141班级计网1231班姓名黄磊指导老师刘志生白党强一课程设计目的…
Java课程设计报告课目计算器学院基础学院班级光信息20xx1学生指导教师丁振凡张晓瑞辅导教师江宇完成时间20xx年7月1日课程设…
淮海工学院计算机工程学院课程设计报告设计名称面向对象课程设计选题名称姓名学号专业班级系院计算机工程学院设计时间设计地点软件实验室教…
本科生课程设计课程名称Java程序设计B课程设计题目学号学生姓名所在专业所在班级指导教师成绩教师签字评语课程设计时间20xx年12…
黄淮学院JAVA课程设计报告题目:《日记本的设计与实现》课程设计学院:信息工程学院姓名:学号:专业:软件工程班级:软工1101B班…