JAVA简单记事本程序设计实验报告(带源码)_第1页
JAVA简单记事本程序设计实验报告(带源码)_第2页
JAVA简单记事本程序设计实验报告(带源码)_第3页
JAVA简单记事本程序设计实验报告(带源码)_第4页
JAVA简单记事本程序设计实验报告(带源码)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA程序设计实 验 报 告 院 系: 信息工程系 专 业: 计算机应用技术 班 级: 11计算机01班姓 名: Civen 任课教师: XXX 实验题目: JAVA简单记事本程序设计 目 录目 录1一、引言21.1 课程设计目的21.2 题目说明21.3 开发工具介绍2二、总体设计32.1系统开发平台32.2 系统流程图42.3功能结构图42.4数据库设计4三、详细说明43.1 系统实施5四、系统的调试和运行9五、课程设计总结9六、参考文献9附录(源程序代码)10一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提

2、供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。1 掌握窗口、菜单等高级组件的应用。2 掌握Java Swing的使用方法。3 了解GUI应用程序的创建过程与方法。1.2 题目说明课题:学生成绩管理 4 功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件 新建、打开、保存、退出编辑 剪切、拷贝、粘贴、查找帮助 关于5 实现文件和编辑菜单里的功能 1.3 开发工具介绍Eclipse是一种可扩展的开放源代码IDE。2001年11月,IB

3、M公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查

4、应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的Visual Studio和Sun 微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse 联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java

5、开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来较困难。二、总体设计2.1系统开发平台前端使用JAVA设计 2.2 系统流程图开始输入文字?新建打开保存另存为剪切复制粘贴删除查找替换全选关于退出结束图3.1主流程图NY 2.3功能结构图3.2.2 “文件”菜单操作流程图开始“文件”菜单新建另存为File=null打开用JFileChooser()选择所有打开文件路径用unfold()读取所选的文件内容到记事本保存用sava()保存文件用JFileChooser()选择文件另存的路径用sava()保存文件退出或关闭文件是否修改用sava()保存文件Y结束N图3.2 “文件”菜单操作流程图

6、用close()关闭文件3.2.3 “编辑”菜单操作流程图开始“编辑”菜单剪切全选设置修改标签,text.cut()复制用text.copy()实现粘贴设置修改标签,text.paste()删除设置修改标签,text.replaceRange("", start, end);查找替换用FindAndReplace方法实现用text.selectAll()实现退出或关闭文件是否修改用sava()保存文件并结束用close()关闭文件YN图3.3 “编辑”菜单操作流程图3.2.4 “帮助”菜单操作流程图开始“帮助”菜单关于记事本显示记事本的有关信息结束图3.4 “帮助”菜单操作

7、流程图三、详细说明设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。1:界面设计在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 2:功能设计在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同界面。 3:代码设计编写每个控件的相关代码,并进行调试。3.1 系统实施1:界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。主要代码:f=new Frame(s); p1=new TextAre

8、a(""); 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(&qu

9、ot;保存"); 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(item

10、2); 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.addActionLi

11、stener(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(

12、)=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()+"文件对话框"); Fi

13、leReader 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.getS

14、electedText(); 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); 四、系统的调试和运行1:界面调试确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始

15、化。在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。如图:2:功能调试对所有菜单项进行注册监听。当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。在具体实现中可以用变量i来判断文件是否处于保存状态。五、课程设计总结本次课程设计,让我获益匪浅,不仅更深入的了解Java这门学科,更使自己有了继续探索的兴趣。于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马

16、虎,便会导致整个程序不能正常运行。在今后的学习中,我定将“认真严谨时刻作为自的谨言。与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计在我的学生生涯中启上了至关重要的作用。最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。六、参考文献按照以下格式书写1 权明富,齐佳音,舒华英.客户价值评价指标体系设计J.南开管理评论,2004,7(3):17-18.2 刘小洪,邹鹏. 商业银行客户关系价值管理模型研究J.管理科学,2005,18(3):57-60.附录(源程序代码)import java.io.*;import jav

17、a.awt.*;import java.awt.event.*;class FileInAndOut public static String fileInput(String fName)String strRead=""try FileReader fr=new FileReader(fName);BufferedReader br=new BufferedReader(fr);String aline=new String();while(aline=br.readLine()!=null)strRead=strRead+aline;br.close();fr.clo

18、se(); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace();return strRead;public static void fileWrite(String fName,String temp)try FileWriter fw=new FileWriter(fName);BufferedWriter bw=new BufferedWriter(fw);bw.write(temp);bw.close();fw.close(); catch (IOEx

19、ception e) e.printStackTrace();public class MyNote implements ActionListener private Frame f;private TextArea ta;private MenuBar mb;private String strme="文件","编辑","帮助"private String strmi="新建","打开","保存","退出","剪切","拷

20、贝","粘贴","查找","关于"private String fileDir,fileName,temp=""private Menu me;private MenuItem mi;private Label l1,l2;private TextField t1,t2;private Button b1,b2,b3;private Dialog diaFind,diaAbout;public MyNote()f=new Frame("无标题-我的记事本");ta=new TextAr

21、ea();f.add(ta);mb=new MenuBar();f.setMenuBar(mb);mi=new MenuItemstrme.length;me=new Menustrme.length;for(int i=0;i<strme.length;i+)mei=new Menu(strmei);mb.add(mei);mii=new MenuItemstrmii.length;for(int j=0;j<strmii.length;j+)miij=new MenuItem(strmiij);mei.add(miij);miij.addActionListener(this)

22、;f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););f.setSize(400,300);f.show();diaFind=new Dialog(f,"查找",true);diaFind.setLayout(new FlowLayout();diaFind.setSize(260,120);l1=new Label("查找内容");l2=new Label("替 换 为");t1=new Tex

23、tField(20);t2=new TextField(20);b1=new Button("下一个");b2=new Button("替换");b3=new Button("取消");diaFind.add(l1);diaFind.add(t1);diaFind.add(l2);diaFind.add(t2);diaFind.add(b1);diaFind.add(b2);diaFind.add(b3);diaFind.addWindowListener(new WindowAdapter()public void windowCl

24、osing(WindowEvent e)diaFind.dispose(););public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if(cmd.equals("新建")fileDir=""fileName=""ta.setText("");f.setTitle("无标题-我的记事本");if(cmd.equals("打开")FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOAD);diaOpen.show();fileDir=diaOpen.getDirectory();fileName=diaOpen.getFile();if(!fileName.equals("")ta.setText(FileInAndOut.file

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论