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

上传人:tbuqq 文档编号:5197256 上传时间:2020-02-19 格式:PDF 页数:21 大小:245.93KB
返回 下载 相关 举报
JAVA简单记事本程序设计实验报告(带源码)要点.pdf_第1页
第1页 / 共21页
JAVA简单记事本程序设计实验报告(带源码)要点.pdf_第2页
第2页 / 共21页
JAVA简单记事本程序设计实验报告(带源码)要点.pdf_第3页
第3页 / 共21页
JAVA简单记事本程序设计实验报告(带源码)要点.pdf_第4页
第4页 / 共21页
JAVA简单记事本程序设计实验报告(带源码)要点.pdf_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《JAVA简单记事本程序设计实验报告(带源码)要点.pdf》由会员分享,可在线阅读,更多相关《JAVA简单记事本程序设计实验报告(带源码)要点.pdf(21页珍藏版)》请在三一文库上搜索。

1、JAVA程序设计 实 验 报 告 院系:信息工程系 专业:计算机应用技术 班级:11 计算机 01 班 姓名:Civen 任课教师:XXX 实验题目:JAVA 简单记事本程序设计 目录 目录 . 1 一、引言 . 2 1.1 课程设计目的. 2 1.2 题目说明 . 2 1.3 开发工具介绍. 2 二、总体设计 . - 4 - 2.1 系统开发平台 - 4 - 2.2 系统流程图 . 4 2.3 功能结构图 错误!未定义书签。 2.4 数据库设计 错误!未定义书签。 三、详细说明 . 4 3.1 系统实施 . - 11 - 四、系统的调试和运行 . 9 五、课程设计总结 . 9 六、参考文献

2、. 9 附录(源程序代码) . 10 一、引言 1.1 课程设计目的 1) 复习 , 巩固 Java 语言的基础知识,进一步加深对Java 语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会, 将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际, 实 践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1掌握窗口、菜单等高级组件的应用。 2掌握 Java Swing的使用方法。 3了解 GUI 应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4功能要求 : 编写一个简单记事本程序,要求

3、包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001 年 11 月, IBM 公司捐出价值4,000 万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发 环境 (IDE) 经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开 发环境 (IDE) 克服目前的局限性,业界厂商合作创建了Eclipse平台。 Eclipse允许在同 一 IDE 中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了 项目

4、工作流程,使开发者可以专注在实际的嵌入式目标上。 利用 Eclipse ,我们可以将高级设计( 也许是采用UML)与低级开发工具( 如应用调试 器等 ) 结合在一起。 如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当 我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上, 由于 Eclipse并不了解开发语言,所以无论Java 语言调试器、 C/C+调试器还是汇编调 试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 Eclipse的最大特点是它能接受由Java 开发者自己编写的开放源代码插件,这类似 微软公司的Visual Studio

5、 和 Sun 微系统公司的NetBeans 平台。Eclipse为工具开发商 提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse 联盟已经宣布将 在 2004 年中期发布其3.0 版软件。这是一款非常受欢迎的java 开发工具,这国内的用 户越来越多,实际上实用它java 开发人员是最多的。缺点就是较复杂,对初学者来说, 理解起来较困难。 二、总体设计 2.1 系统开发平台 前端使用 JAVA设计 2.2 系统流程图 开始 输入文字? 新 建 打 开 保 存 另 存 为 剪 切 复 制 粘 贴 删 除 查 找 替 换 全 选 关 于 退 出 结束 图 3.1 主流程图 N Y

6、 2.3 功能结构图 3.2.2 “文件”菜单操作流程图 开始 “文件”菜单 新 建 另 存 为 File=null 打 开 用 JFileChooser()选择 所有打开文件路径 用 unfold() 读取所选的 文件内容到记事本 保 存 用 sava()保存文件用 JFileChooser()选择 文件另存的路径 用 sava()保存文件 退出或关闭 文件是否修改 用 sava()保存文 Y 结束 N 图 3.2 “文件”菜单操作流程图 用 close()关闭文件 3.2.3 “编辑”菜单操作流程图 开始 “编辑”菜单 剪 切 全 选 设置修改 标 签, text.cut() 复 制 用

7、text.cop y()实现 粘 贴 设置修改 标签, text.paste( ) 删 除 设置修改标签, text.replaceRa nge(“, start, end); 查 找 替 换 用 FindAndRep lace方 法 实现 用 text.sel ectAll() 实现 退出或关闭 文件是否修改 用 sava()保存文件并 结束 用 close()关闭文件 Y N 图 3.3 “编辑”菜单操作流程图 3.2.4 “帮助”菜单操作流程图 开始 “帮助”菜单 关于记事本 显示记事本的有关信息 结束 图 3.4 “帮助”菜单操作流程图 三、详细说明 设计两个类,一个jsb 类,具有程

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

9、etSize(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

10、=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); menuba

11、r.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(th

12、is); item7.addActionListener(this); item8.addActionListener(this); item9.addActionListener(this); item10.addActionListener(this); 3:代码设计 部分菜单项的相关代码: 新建文件 if (e.getSource()=item1) if (i=0 else p1.setText(“);i=0;f.setTitle(“文件对话框 “); 打开文件 if (e.getSource()=item2) fd=new FileDialog(f,“打开文件 “,0); fd.set

13、Visible(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.cl

14、ose(); 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 else System.exit(0); 四、系统

15、的调试和运行 1: 界面调试 确定主窗体, 设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。 在完成加入菜单控件后,不能缺少 f.setMenuBar(menubar); 语句,将menubar 设为主 窗体的菜单条,否则会看不到菜单栏。 如图: 2:功能调试 对所有菜单项进行注册监听。当进行除保存以外的菜单项的功能外,在 actionPerformed 中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对 本文件的保存功能,以免文件的丢失。在具体实现中可以用变量i 来判断文件是否处于 保存状态。 五、课程设计总结 本次课程设计, 让我获益匪浅, 不仅

16、更深入的了解Java 这门学科, 更使自己有了继 续探索的兴趣。 于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点 小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我定将“认真严谨时刻 作为自的谨言。与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让 人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计在我的学 生生涯中启上了至关重要的作用。 最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。 六、参考文献 按照以下格式书写 1 权明富,齐佳音,舒华英. 客户价值评价指标体系设计J.南开管理评论,2004, 7(3):17-18. 2 刘

17、小洪,邹鹏. 商业银行客户关系价值管理模型研究J.管理科学,2005, 18(3):57-60. 附录(源程序代码) import java.io.*; import java.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=n

18、ew String(); while(aline=br.readLine()!=null) strRead=strRead+aline; br.close(); fr.close(); 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);

19、 BufferedWriter bw=new BufferedWriter(fw); bw.write(temp); bw.close(); fw.close(); catch (IOException 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 TextArea(); f.add(ta); mb=n

21、ew MenuBar(); f.setMenuBar(mb); mi=new MenuItemstrme.length; me=new Menustrme.length; for(int i=0;istrme.length;i+) mei=new Menu(strmei); mb.add(mei); mii=new MenuItemstrmii.length; for(int j=0;jstrmii.length;j+) miij=new MenuItem(strmiij); mei.add(miij); miij.addActionListener(this); f.addWindowLis

22、tener(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 TextField(20); t2=new TextField(20);

23、 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 windowClosing(WindowEvent e) diaFind.dispose(); ); public

24、 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.getF

25、ile(); if(!fileName.equals(“) ta.setText(FileInAndOut.fileInput(fileDir+fileName); f.setTitle(fileName+“- 我的记事本 “); if(cmd.equals(“保存“) FileDialog diaSave=new FileDialog(f,“,FileDialog.SA VE); diaSave.show(); fileDir=diaSave.getDirectory(); fileName=diaSave.getFile(); if(!fileName.equals(“) FileInAn

26、dOut.fileWrite(fileDir+fileName,ta.getText(); f.setTitle(fileName+“- 我的记事本 “); if(cmd.equals(“退出“) System.exit(0); if(cmd.equals(“剪切“) int x,y; x=ta.getSelectionStart(); y=ta.getSelectionEnd(); temp=ta.getSelectedText(); ta.replaceRange(“,x,y); if(cmd.equals(“拷贝“) temp=ta.getSelectedText(); if(cmd.equals(“粘贴“) ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd(); if(cmd.equals(“查找“) diaFind.show(); if(cmd.equals(“关于“) public static void main(String args) new MyNote();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1