




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 华北科技学院计算机系实 验 报 告 课程名称 java程序设计 实验学期 2010 至 2011 学年 第 二 学期学生所在系部 计算机系 年级 三 专业班级 电商b09-1 学生姓名 高二杰 学号 200904064119 任课教师 王养廷 实验成绩 计算机系制 java程序设计a课程考试报告开课实验室:软件开发实验室 2011 年 12 月3 日实验题目简易记事本软件一、实验目的a) 掌握面向对象程序设计基本要素(封装、继承、多态)b) 掌握java语言常用类包及其常用方法和java语言基本语法c) 掌握基于awt的图形用户界面设计i. 常用标准控件的使用,如标签、按钮、菜单、文本框、单
2、选按钮、滚动条等。ii. 事件处理机制d) 掌握布局、对话框的使用e) 掌握发布java应用程序二、设备与环境pc兼容机、windows操作系统、java集成开发环境。三、实验内容1. 完成记事本的需求分析。2. 记事本的总体设计,列出主要的类和类间关系。3. 列出具体的实现代码。4. 写出程序的实现细节,主要得功能界面,实现说明。5. 写出总结和评价四、实验结果及分析1. 需求分析目前,很多新的技术领域都涉及到了java语言,java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此java语言也是学习面向对象编程和网络编程的首选语言。按照教学培养计划要求,学生在学习完课本中指定
3、课时的知识后,应安排一定课时的课程设计。其主要目的是使学生深入理解并实践在本课程中所学的有关java程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等。故此“记事本”应运而生。本课程设计是为了配合java程序设计课程,帮助学生深入学习掌握java语言,熟练运用这个工具而设立的课程。通过课程设计各个项目的综合训练,加强学生对java语言的理解,检验学生对专业理论知识理解与掌握的程度,锻炼学生综合运用java程序设计处理所学的知识实际分析问题、解决问题的能力,使课堂上的理论在实践中得到运用,提高学生的综合素质,为学生毕业后的实际工作打好基础。同时也满足了大多数同学对于一款
4、简单易用的软件的需求记事本是基本的文档编辑器,可以实现对txt、html、java等格式的编辑、修改和保存的操作。记事本的功能要实现对文档的剪切、复制和粘贴这些基本的功能。记事本包含一个菜单条,菜单条里有文件、编辑、格式、帮助菜单,可以选择菜单里的不同的菜单项来实现不同的功能,每个菜单根据需要添加了相应的快捷键,比如打开的快捷键设置为ctrl+o;根据平时的操作需要,右键菜单是必须要加入的,所以加入了剪切、复制、粘贴这几项常用的操作。新建:记事本建立一个空文档,快捷键ctrl+n;打开:记事本弹出打开对话框,从中选择要打开的文件(选择txt、html、java等格式文件),快捷键ctrl+o;
5、保存:从弹出的保存对话框选择文件要保存的文件夹,输入文件的名称和文件的格式,快捷键:ctrl+s;退出:退出记事本;剪切:对选中的字符串剪切到剪切板中,可以用来粘贴到文档的其他地方,快捷键:ctrl+x;复制:对选中的字符串复制,可以用来粘贴到文档的其他地方,快捷键:ctrl+c;粘贴:当有剪切或复制操作时,可以粘贴字符,快捷键:ctrl+v;自动换行:复选框选中时,记事本可以实现自动换行;关于:弹出一个对话框,显示记事本的作者;右键菜单:选中一段字符,右键弹出右键菜单可以进行操作。2. 软件设计记事本的菜单栏包括文件、编辑、格式、帮助,分别实现相应的功能来对文档进行编辑。文件菜单包括新建、打
6、开、保存、退出;编辑菜单包括剪切、复制、粘贴;格式菜单包括自动换行的一个复选框;帮助菜单包括一个关于的菜单项。(1)系统功能结构图开始文件编辑帮助输入文字(2)系统文件结构图开始文件新建打开保存退出(3)系统编辑结构图开始编辑剪切复制粘贴本程序包括两个类,主类是kaoshi,另一个是jishiben类,kaoshi类新建一个jishiben的一个窗口,调用class jishiben;类jishiben完成对记事本窗口属性的设置(大小、位置、添加文本区等等),加入菜单条的操作进而将菜单项和菜单加入到菜单条中,完成菜单条的设置,对各类菜单项加入菜单项的监听事件和触发是的操作。3. 程序代码imp
7、ort javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.awt.event.inputevent;import java.awt.event.keyevent;public class kaoshipublic static void main(string args)jishiben jishiben = new jishiben(记事本);class jishiben extends jframe implements actionlistener,itemlisten
8、erjfilechooser fc;jpopupmenu pm;jtextarea ta;jmenubar mb;jmenu wenjian,bianji,geshi,bangzhu;jmenuitem xinjian,dakai,baocun,lingcunwei,tuichu,jianqie,fuzhi,zhantie,guanyu,pm_jianqie,pm_fuzhi,pm_zhantie;jcheckbox huanhang;public jishiben(string s)settitle(s);ta=new jtextarea();add(new jscrollpane(ta);
9、fc = new jfilechooser(c:/);jmenubar mb = new jmenubar();/设置文件菜单wenjian = new jmenu(文件);xinjian = new jmenuitem(新建);xinjian.setaccelerator(keystroke.getkeystroke(keyevent.vk_n,inputevent.ctrl_mask);xinjian.addactionlistener(this);dakai = new jmenuitem(打开);dakai.setaccelerator(keystroke.getkeystroke(k
10、eyevent.vk_o,inputevent.ctrl_mask);dakai.addactionlistener(this);baocun = new jmenuitem(保存);baocun.setaccelerator(keystroke.getkeystroke(keyevent.vk_s,inputevent.ctrl_mask);baocun.addactionlistener(this);tuichu = new jmenuitem(退出);tuichu.addactionlistener(this);wenjian.add(xinjian);wenjian.add(dakai
11、);wenjian.add(baocun);wenjian.addseparator();/添加分割线wenjian.add(tuichu);mb.add(wenjian);/设置编辑菜单bianji = new jmenu(编辑);jianqie = new jmenuitem(剪切);jianqie.setaccelerator(keystroke.getkeystroke(keyevent.vk_x,inputevent.ctrl_mask);jianqie.addactionlistener(this);fuzhi = new jmenuitem(复制);fuzhi.setaccele
12、rator(keystroke.getkeystroke(keyevent.vk_c,inputevent.ctrl_mask);fuzhi.addactionlistener(this);zhantie = new jmenuitem(粘贴);zhantie.setaccelerator(keystroke.getkeystroke(keyevent.vk_v,inputevent.ctrl_mask);zhantie.addactionlistener(this);bianji.add(jianqie);bianji.add(fuzhi);bianji.add(zhantie);mb.ad
13、d(bianji);/设置格式菜单geshi = new jmenu(格式);huanhang = new jcheckbox(自动换行);huanhang.additemlistener(this);geshi.add(huanhang);mb.add(geshi);/设置帮助菜单bangzhu = new jmenu(帮助);guanyu = new jmenuitem(关于);guanyu.addactionlistener(this);bangzhu.add(guanyu);mb.add(bangzhu);setjmenubar(mb);pm = new jpopupmenu();pm
14、_jianqie = new jmenuitem(剪切);pm_jianqie.addactionlistener(this);pm_fuzhi = new jmenuitem(复制);pm_fuzhi.addactionlistener(this);pm_zhantie = new jmenuitem(粘贴);pm_zhantie.addactionlistener(this);pm.add(pm_jianqie);pm.add(pm_fuzhi);pm.add(pm_zhantie);ta.addmouselistener(new mouseadapter()public void mou
15、sepressed(mouseevent e)if(e.getmodifiers()=inputevent.button3_mask)pm.show(ta,e.getx(),e.gety(););setsize(500,500);setlocation(120,120);setvisible(true);setdefaultcloseoperation(jframe.exit_on_close);addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););valida
16、te();/如果加载了其他东西,就可用它来显示组件public void actionperformed(actionevent e)if(e.getsource()=xinjian)ta.settext(null);if(e.getsource()=dakai)ta.settext(null);int isopen = fc.showopendialog(jishiben.this);if(isopen=jfilechooser.approve_option)file file = fc.getselectedfile();tryfilereader readfile = new filer
17、eader(file);bufferedreader in = new bufferedreader(readfile);string s=null;while(s=in.readline()!=null)ta.append(s+n);catch(ioexception ee)if(e.getsource()=baocun)int issave = fc.showsavedialog(jishiben.this);if(issave=fc.approve_option)file file = fc.getselectedfile();tryfilewriter writefile = new
18、filewriter(file);bufferedwriter buf = new bufferedwriter(writefile);string s=ta.gettext();buf.write(s);buf.close();catch(ioexception ee)if(e.getsource()=tuichu)system.exit(0);if(e.getsource()=jianqie)ta.cut();if(e.getsource()=fuzhi)ta.copy();if(e.getsource()=zhantie)ta.paste();if(e.getsource()=guany
19、u)joptionpane.showmessagedialog(this,本记事本由高二杰制作,谢谢!,关于, joptionpane.information_message); if(e.getsource()=pm_jianqie)ta.cut();if(e.getsource()=pm_fuzhi)ta.copy();if(e.getsource()=pm_zhantie)ta.paste();public void itemstatechanged(itemevent e)jcheckbox huanhang = (jcheckbox)e.getitemselectable();if(
20、huanhang.isselected()ta.setlinewrap(true);elseta.setlinewrap(false);4 程序实现说明(1)主界面(2)文件菜单界面(3)编辑菜单界面(4)文件打开界面(5)文件保存界面5 总结总体来说,本次项目在规定期间顺利完成,记事本能够完成文件的编辑、保存、剪切、复制、自动换行等的相应功能。经过一个星期的我的记事本的设计,顺利完成该课程设计。通过该课程设计,收获颇多。首先,让我加深了对java语言的理论知识的理解;其次,让我更加熟练的掌握了java语言的设计能力并且有了实践经验;再次,在设计过程中,加深了老师在课堂上教授的知识的理解;最后
21、,加强了我对java语言的学习兴趣和好感。教 师 评 价评定项目abcd评定项目abcd需求描述规范合理er图设计合理数据库描述正确数据分析和设计对应系统实现有特色系统实现答辩演示系统讲解回答问题报告规范其他:评价教师签名:年 月 日 薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀
22、芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄
23、羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅
24、膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇螈蚀膇蒀薀罿膇腿螆袅膆节蕿螁膅蒄螄螇膄薆蚇肆膃芆蒀羂膂莈蚅袈膁蒀蒈螄芁膀蚄蚀芀节蒆羈艿莅蚂袄芈薇蒅袀芇芇螀螆芆荿薃肅芅蒁螈羁芅薄薁袇莄芃螇螃羀莆薀虿罿蒈螅肇罿芇薈羃羈莀袃衿羇蒂蚆螅羆薄葿肄羅芄蚄羀肄莆蒇袆肃葿蚃螂肃膈蒆蚈肂莁蚁肇肁蒃薄羃肀薅蝿衿聿芅薂螅肈莇莅芈蚅肇膈薆螄螇莃蒂螃衿膆莈螂羁莂莄螁膃芄蚃螁袃肇蕿螀羅芃蒅蝿肈肅莁螈螇芁芇袇袀肄薆袆羂艿蒂袅膄肂蒈袅袄莈莄
25、袄羆膀蚂袃聿莆薈袂膁腿蒄袁袁莄莀薈羃膇芆薇肅莂薅薆螅膅薁薅羇蒁蒇薄聿芄莃薃膂肆蚁薂袁节薇薂羄肅蒃蚁肆芀荿蚀螆肃芅虿袈芈蚄蚈肀膁薀蚇膃莇蒆蚇袂腿莂蚆羅莅芈蚅肇膈薆螄螇莃蒂螃衿膆莈螂羁莂莄螁膃芄蚃螁袃肇蕿螀羅芃蒅蝿肈肅莁螈螇芁芇袇袀肄薆袆羂艿蒂袅膄肂蒈袅袄莈莄袄羆膀蚂袃聿莆薈袂膁腿蒄袁袁莄莀薈羃膇芆薇肅莂薅薆螅膅薁薅羇蒁蒇薄聿芄莃薃膂肆蚁薂袁节薇薂羄肅蒃蚁肆芀荿蚀螆肃芅虿袈芈蚄蚈肀膁薀蚇膃莇蒆蚇袂腿莂蚆羅莅芈蚅肇膈薆螄螇莃蒂螃衿膆莈螂羁莂莄螁膃芄蚃螁袃肇蕿螀羅芃蒅蝿肈肅莁螈螇芁芇袇袀肄薆袆羂艿蒂袅膄肂蒈袅袄莈莄袄羆膀蚂袃聿莆薈袂膁腿蒄袁袁莄莀薈羃膇芆薇肅莂薅薆螅膅薁薅羇蒁蒇薄聿芄莃薃膂肆蚁薂袁节薇薂羄肅蒃蚁肆芀荿蚀螆肃芅虿袈芈蚄蚈肀膁薀蚇膃莇蒆蚇袂腿莂蚆羅莅芈蚅肇膈薆螄螇莃蒂螃衿膆莈螂羁莂莄螁膃芄蚃螁袃肇蕿螀羅芃蒅蝿肈肅莁螈螇芁芇袇袀肄薆袆羂艿蒂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国除颤仪行业市场调查研究及投资前景预测报告
- 压桩行业深度研究报告
- 2024-2025学年高中英语Unit3Inventorsandinventions单元加餐练新人教版选修8
- 2024-2025学年高中历史课时作业5列强入侵与民族危机人民版必修1
- 2024-2025学年高中语文课时作业13在马克思墓前的讲话含解析新人教版必修21
- 2024年领军高考政治一轮复习专题13我国公民的政治参与精讲深剖含解析
- 2024-2025学年高中历史第二单元西方人文精神的起源及其发展第6课文艺复兴和宗教改革课时作业新人教版必修3
- 2024-2025学年高中历史专题五现代中国的文化与科技第3课科学技术的发展与成就课后课时作业人民版必修3
- 2024-2025学年高中历史第五单元近现代中国的先进思想第22课孙中山的民主追求课时作业岳麓版必修3
- 2022-2027年中国四川省印刷行业发展概况及行业投资潜力预测报告
- 机械制造技术基础PPT(中职)全套教学课件
- (完整版)小学英语语法大全-附练习题,推荐文档
- 数学人教版六年级下册简便运算课件
- 非遗申请书范本
- 注塑参数表完整版
- 吊顶工程课件
- 山东大学出版社六年级上册传统文化第一单元宽仁厚爱备课教案
- 2023年金华职业技术学院高职单招(英语)试题库含答案解析
- GB/T 16492-1996光学和光学仪器环境要求总则、定义、气候带及其参数
- FZ/T 01010-2012涂层织物涂层剥离强力的测定
- 混凝土耐久性课件
评论
0/150
提交评论