为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

JAVA记事本课程设计报告

2012-04-13 23页 doc 158KB 214阅读

用户头像

is_110092

暂无简介

举报
JAVA记事本课程设计报告Windows记事本——夏彪 存档资料 成绩:  华东交大理工学院 课 程 设 计 报 告 书 所属课程名称 Java语言实用教程 题 目 我的记事本 院 (系) 电信分院 班 级 06电子商务(2)班 学  号 20060210460220 学生姓名 夏彪 指导教师 向华萍 辅导教师 向华萍 2007年 12 月 24 日 华东交大理工学院 课 程 设 计(...
JAVA记事本课程设计报告
Windows记事本——夏彪 存档资料 成绩:  华东交大理工学院 课 程 设 计 报 告 书 所属课程名称 Java语言实用教程 题 目 我的记事本 院 (系) 电信分院 班 级 06电子商务(2)班 学  号 20060210460220 学生姓名 夏彪 指导教师 向华萍 辅导教师 向华萍 2007年 12 月 24 日 华东交大理工学院 课 程 设 计( 论 文 )任 务 书 学院 电信分院 专 业 06电子商务(本) 班 级 2 一、课程设计(论文)题目 我的记事本 二、课程设计(论文)工作:自 2007年12月 24 日起至 2007年 12 月 30 日止。 三、课程设计(论文)的要求: 1.本课程设计的目的 (1)掌握Java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术; (3)培养学生分析、解决问题的能力; (4)提高学生实践论文撰写能力。 2.课程设计的任务及要求 1)基本要求: (1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行; (2)掌握JAVA基本编程技术和方法; (3)掌握GUI图形界面编程技术; (4)了解异常处理机制。 2)课程设计论文编写要求 (1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文 格式进行书写和装订。 (2)课程设计(论文)包括目录、设计目的、实现思路、实现步骤、设计 参考文献、附录等; 3)课程设计评分标准: (1)学习态度:10分; (2)系统设计:20分; (3)编程调试:20分; (4)回答问题:20分; (5)论文撰写:30分。 4)参考文献: (1)丁振凡主编. Java语言实用教程[M]. 北京邮电大学出版社. 2004.12 (2)丁振凡主编. Java语言实用教程实验指导[M]. 北京邮电大学出版社. 2004.12 (3)http://cai.ecjtu.jx.cn 5)课程设计进度安排 1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料 2.程序模块设计分析阶段(4学时):程序总体设计、详细设计 3.代码编写调试阶段(8学时):程序模块代码编写、调试、测试 4.撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文 6)课程设计题目具体要求: 编写一个简单的Windows记事本程序,提高学生掌握Java语言的程序设计的能 力,程序有合理的界面设计,能够在界面中实现对文件的写入,保存和全选,复制, 剪贴,复制等多种编辑功能。并且能够顺利关闭界面,退出程序。 学生签名:   2007年12 月 日 课程设计(论文)评阅意见 序号 项 目 等   级 优秀 良好 中等 及格 不及格 1 课程设计态度评价 2 出勤情况评价 3 任务难度评价 4 工作量饱满评价 5 设计中创新性评价 6 论文书写化评价 综合评定等级 评阅人   2007年12月 日 目 录 第1章 系统设计目的.............................1 第2章 系统实现思路..............................2 第3章 系统详细设计..............................3 第4章 系统调试运行..............................7 第5章 课程设计心得..............................8 第6章 参考文献..................................9 第7章 附录...............................10 第1章 系统设计目的 1)设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存和另存; 2:对文件的编辑,如全选,复制,剪切,粘贴; 3:执行完操作后,能够顺利关闭记事本。 2)通过这次设计,可以帮助学生: 1:提高对Java语言设计的掌握能力; 2:理论联系实际,进一步提高学生的软件开发技术; 3:培养学生分析、解决问题的能力。 第2章 系统实现思路 设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。 1:界面设计 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 2:功能设计 在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同界面。 3:代码设计 编写每个控件的相关代码,并进行调试。 第3章 系统详细设计 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:功能设计 对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。 主要代码 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); 3:代码设计 部分菜单项的相关代码: 新建文件 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) {} } 复制文件 if (e.getSource()==item7) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { strt=str; } }catch(Exception ex) { } } 粘贴文件 if (e.getSource()==item9) { if(strt.length()>0) { p1.insert(strt,p1.getCaretPosition()); } 退出记事本 if (e.getSource()==item5) { if (i==0 &&(ss.length()!=0)) { bc(); } else { System.exit(0); } } 第4章 系统调试运行 1:界面调试 确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。 如图: 2:功能调试 对所有菜单项进行注册监听。当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。在具体实现中可以用变量i来判断文件是否处于保存状态。 第5章 课程设计心得 经过一个星期的我的记事本的课程设计,我在向华萍老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。 首先,让我加深了对Java语言的理论知识的理解; 其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验; 再次,在设计过程中,学到了老师没有在课堂上没有教授的知识; 最后,加强了我对Java语言的学习兴趣和好感。 第6章 参考文献 [1] 耿详义,张跃平. Java 2 实用教程. 北京:清华大学出版社,2004.2 [2] 张利国.Java实用教程案例.北京:清华大学出版社,2003.10 [3] 周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,2004.3 [4] 李尊朝.Java语言程序设计.北京:中国铁道出版社,2004.2 [5] (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 证学习指南) (第四版 英文版). 北京:电子工业出版社,2004.1 第7章 附 录 程序源代码: import java.awt.event.*; import java.awt.*; import java.io.*; import java.lang.String; class jsb implements ActionListener { Dialog bb; String strt; int i; FileDialog fd; File file; public Frame f; public TextArea p1; public MenuBar menubar; public Menu menu1,menu2,menu3; public MenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9,item10; jsb(String s) { i=0; f=new Frame(s); p1=new TextArea(""); f.setSize(500,500); 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("关于"); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {f.setVisible(false);System.exit(0);} }); menu1.add(item1); menu1.add(item2); menu1.add(item3); 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); 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); f.setLayout(new GridLayout(1,1)); f.add(p1);f.pack(); } public void actionPerformed(ActionEvent e) { String ss; ss=p1.getText().trim(); if (e.getSource()==item5) { if (i==0 &&(ss.length()!=0)) { bc(); } else { System.exit(0); } } 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) {} } if (e.getSource()==item3) { if (i==0) { bc(); } else { try{ file=new File(fd.getDirectory(),fd.getFile()); f.setTitle(fd.getFile()+"--记事本"); FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); String s =p1.getText(); s = s.replaceAll("\n","\r\n"); bw.write(s); bw.flush(); bw.close(); fw.close(); i=1; } catch(IOException expOut){i=0;} } } if (e.getSource()==item4) { bc(); } if (e.getSource()==item10) { bb=new Dialog(f,"关于"); Label l1=new Label("本记事本的完成感谢老师和同学的帮助!!"); bb.add(l1); bb.setSize(250,150); bb.setBackground(Color.white); bb.show(); bb.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {bb.setVisible(false);bb.dispose();} }); } if (e.getSource()==item6) { p1.setSelectionStart(0); p1.setSelectionEnd(p1.getText().length()); } if (e.getSource()==item7) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { strt=str; } }catch(Exception ex) { } } if (e.getSource()==item8) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { p1.replaceRange("",p1.getSelectionStart(),p1.getSelectionEnd()); } } catch(Exception ex) { } } if (e.getSource()==item9) { if(strt.length()>0) { p1.insert(strt,p1.getCaretPosition()); } } } public void bc() { fd=new FileDialog(f,"保存文件",1); fd.setVisible(true); try{ file=new File(fd.getDirectory(),fd.getFile()); f.setTitle(fd.getFile()+"--记事本"); FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); String s =p1.getText(); s = s.replaceAll("\n","\r\n"); bw.write(s); bw.flush(); bw.close(); fw.close(); i=1; } catch(IOException expOut){} } } public class keshe { public static void main(String args[]) {jsb dd=new jsb("我的记事本");} } � � � � � 第 10 页
/
本文档为【JAVA记事本课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索