我的记事本

  • 格式:doc
  • 大小:143.71 KB
  • 文档页数:23

存档资料成绩:华东交大理工学院课程设计报告书所属课程名称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)5)课程设计进度安排1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2.程序模块设计分析阶段(4学时):程序总体设计、详细设计3.代码编写调试阶段(8学时):程序模块代码编写、调试、测试4.撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文6)课程设计题目具体要求:编写一个简单的Windows记事本程序,提高学生掌握Java语言的程序设计的能力,程序有合理的界面设计,能够在界面中实现对文件的写入,保存和全选,复制,剪贴,复制等多种编辑功能。

并且能够顺利关闭界面,退出程序。

学生签名:2007年12 月日华东交通大学理工学院课程设计报告课程设计(论文)评阅意见序号项目等级优秀良好中等及格不及格1 课程设计态度评价2 出勤情况评价3 任务难度评价4 工作量饱满评价5 设计中创新性评价6 论文书写规范化评价综合评定等级评阅人2007年12月日Windows记事本——夏彪目录第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:培养学生分析、解决问题的能力。

Windows记事本——夏彪第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);Windows记事本——夏彪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(); }elsep1.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 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 plate Java 2 Certification Study GuideFourth Edition(Java 2 证学习指南) (第四版英文版). 北京:电子工业出版社,2004.1第7章附录程序源代码:import java.awt.event.*;import java.awt.*;import java.io.*;import ng.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){Windows记事本——夏彪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("我的记事本");}}。