当前位置:文档之家› JAVA简单记事本程序设计实验报告(带源码)

JAVA简单记事本程序设计实验报告(带源码)

JAVA程序设计实验报告院系:信息工程系专业:计算机应用技术班级:11计算机01班姓名:Civen任课教师:XXX实验题目:JA V A简单记事本程序设计目录目录 (1)一、引言 (2)1.1 课程设计目的 (2)1.2 题目说明 (2)1.3 开发工具介绍 (2)二、总体设计 ..............................................错误!未定义书签。

2.1系统开发平台...................................错误!未定义书签。

2.2 系统流程图 (4)2.3功能结构图.......................................错误!未定义书签。

2.4数据库设计.......................................错误!未定义书签。

三、详细说明 (4)3.1 系统实施..........................................错误!未定义书签。

四、系统的调试和运行 (9)五、课程设计总结 (9)六、参考文献 (9)附录(源程序代码) (10)一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;3) 培养学生在项目开发中团队合作精神,创新意识及能力。

1.掌握窗口、菜单等高级组件的应用。

2.掌握Java Swing的使用方法。

3.了解GUI应用程序的创建过程与方法。

1.2 题目说明课题:学生成绩管理4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件新建、打开、保存、退出编辑剪切、拷贝、粘贴、查找帮助关于5.实现文件和编辑菜单里的功能1.3 开发工具介绍Eclipse是一种可扩展的开放源代码IDE。

2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。

集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。

为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。

Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。

利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。

如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。

事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。

Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的Visual Studio和Sun 微系统公司的NetBeans平台。

Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。

Eclipse 联盟已经宣布将在2004年中期发布其3.0版软件。

这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。

缺点就是较复杂,对初学者来说,理解起来较困难。

二、总体设计2.1系统开发平台前端使用JAVA设计2.2 系统流程图2.3功能结构图3.2.2 “文件”菜单操作流程图3.2.3 “编辑”菜单操作流程图3.2.4 “帮助”菜单操作流程图三、详细说明设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。

1:界面设计在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。

2:功能设计在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。

点击不同菜单项时,显示不同界面。

3:代码设计编写每个控件的相关代码,并进行调试。

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

在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。

如图:2:功能调试对所有菜单项进行注册监听。

当进行除保存以外的菜单项的功能外,在actionPerformed 中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。

在具体实现中可以用变量i来判断文件是否处于保存状态。

五、课程设计总结本次课程设计,让我获益匪浅,不仅更深入的了解Java这门学科,更使自己有了继续探索的兴趣。

于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。

在今后的学习中,我定将“认真严谨时刻作为自的谨言。

与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。

总之,此次课程设计在我的学生生涯中启上了至关重要的作用。

最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。

相关主题