




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word*实践教学*兰州理工大学计算机与通信学院 2012年秋季学期 Java课程设计题 目: 记事本程序 专业班级: 软件基地班 姓 名: 学 号: 指导教师: 成 绩: 摘 要本次课程设计的题目是用JAVA语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。分别对每个事件定义事件监听器。然后在实现相应的方法。关键词:记事本程序;Java语言;sw
2、ing组件目 录 摘 要2序 言4 第一章 分析与设计5 第二章 详细设计6第三章 系统测试16第四章 软件使用说明书19设计总结20参考文献21致 谢22序 言 Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步稳固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,使我们能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。通过此次课程设计,稳固所学Java语言根本知识,增进Java语言编辑根本功,掌握JDK、Eclipse等开发
3、工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯穿,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的根底。第一章 分析与设计一、课程设计目的设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。二、课程设计问题设计题目:记事本程序设计思路:首先设计界面进入面板,在面板中添加菜单项选择项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对记事本程序的管理。三、概要设计面板设计:首先设计一个容器,然后再容器
4、中添加菜单,在菜单中添加选项,并在容器中参加面板,面板布局设置为CardLayout,最后将面板添加进容器。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件、“编辑、“帮助三个主菜单;(2)、“文件有“新建、“翻开、“保存、“另存为、“退出分别用于新建文件,翻开文件,保存文件,另存文件,退出记事本。(3)、“编辑中,有“剪切、“复制、“粘贴、“删除、“查找、“替换、“全选七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。(4)“帮助菜单中有“关于的子菜单,用于描
5、述记事本程序的相关信息。第二章 详细设计1、 jishiben类的实现File file=null; /定义一个空文件private JLabel stateBar; /定义一个标签private JTextArea text; /定义编辑区private JMenuBar mb; /定义菜单栏private JMenu files,edit,help; /定义菜单private JMenuItem Open,New,Save,SaveAs,Exit,Cut,Copy,Paste,Delete,Find,Replace,SelectAll,About; /定义菜单项2、 GUI程序界面设计fi
6、les.add(New); public jishiben() /构造函数super("记事本"); / 菜单栏 mb=new JMenuBar();/*菜单栏的各个菜单项*/files=new JMenu("文件"); edit=new JMenu("编辑");help=new JMenu("帮助");/*“帮助菜单项的下拉菜单*/About=new JMenuItem("关于记事本"); /*“文件菜单项的下拉菜单*/Open=new JMenuItem("翻开"); N
7、ew=new JMenuItem("新建");Save=new JMenuItem("保存");SaveAs=new JMenuItem("另存为");Exit=new JMenuItem("退出"); /*编辑菜单的四个下拉菜单*/Cut=new JMenuItem("剪切"); Copy=new JMenuItem("复制");Paste=new JMenuItem("粘贴");Delete=new JMenuItem("删除");
8、Find=new JMenuItem("查找");Replace=new JMenuItem("替换");SelectAll=new JMenuItem("全选");stateBar=new JLabel("未修改"); /添加标签stateBar.setHorizontalAlignment(SwingConstants.LEFT);stateBar.setBorder(BorderFactory.createEtchedBorder();mb.add(files); /添加控键mb.add(edit);mb.a
9、dd(help);files.add(Open);files.add(Save);files.add(SaveAs);files.addSeparator(); / 分隔线 files.add(Exit); edit.add(Cut);edit.add(Copy);edit.add(Paste);edit.add(Delete);edit.addSeparator(); / 分隔线 edit.add(Find);edit.add(Replace);edit.addSeparator(); / 分隔线 edit.add(SelectAll);help.add(About);setJMenuBar
10、(mb);text=new JTextArea();add(new JScrollPane(text); /滚动面板setSize(600,500); /设置窗口大小setVisible(true); /使窗口显示3、程序流程图1、主流程图开始输入文字?新建翻开保存另存为剪切复制粘贴删除查找替换全选关于退出结束图3.1主流程图NY2、“文件菜单操作流程图开始“文件菜单新建另存为File=null翻开用JFileChooser()选择所有翻开文件路径用unfold()读取所选的文件内容到记事本保存用sava()保存文件用JFileChooser()选择文件另存的路径用sava()保存文件退出或关
11、闭文件是否修改用sava()保存文件Y结束N图3.2 “文件菜单操作流程图用close()关闭文件3、“编辑菜单操作流程图开始“编辑菜单剪切全选设置修改标签,text.cut()复制用text.copy()实现粘贴设置修改标签,text.paste()删除设置修改标签,text.replaceRange("", start, end);查找替换用FindAndReplace方法实现用text.selectAll()实现退出或关闭文件是否修改用sava()保存文件并结束用close()关闭文件YN图3.3 “编辑菜单操作流程图4、“帮助菜单操作流程图开始“帮助菜单关于记事本显
12、示记事本的有关信息结束图3.4 “帮助菜单操作流程图4、事件处理4.1 编辑区键盘事件处理text.addKeyListener( new KeyAdapter()public void keyTyped(KeyEvent e)processTextArea(););4.2 窗口事件处理ClasswindowListenerextendsWindowAdapter public void windowClosing(WindowEvent e) close(); 4.3 菜单项事件处理class actionListener implements ActionListener public v
13、oid actionPerformed(ActionEvent e)JMenuItem mi=(JMenuItem) e.getSource();if(mi=New) /新建文件text.setText("");file=null;else if(mi=Exit) /退出 close(); else if(mi=Cut) /剪切 stateBar.setText("已修改"); text.cut();else if(mi=Copy) /复制 text.copy();else if(mi=Paste) /粘贴 stateBar.setText("
14、已修改"); text.paste();else if(mi=SelectAll) /全选 text.selectAll();else if(mi=Delete) /删除stateBar.setText("已修改");int start;int end;start = text.getSelectionStart();end = text.getSelectionEnd();text.replaceRange("", start, end); else if(mi=Open) /翻开 JFileChooser jf=new JFileChoos
15、er(); /创立翻开文件对话框if(file!=null) jf.setSelectedFile(file); int returnVal=jf.showOpenDialog(jishiben.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=jf.getSelectedFile(); unfold(); else if(mi=About) /关于String message = "-记事本-"+ " 感谢您的使用!"JOptionPane.showMessageDialog(jishiben.
16、this, message, "关于.",JOptionPane.PLAIN_MESSAGE);else if(mi=Save) /保存save();else if(mi=SaveAs) /另存为JFileChooser jf=new JFileChooser();if(file!=null)jf.setSelectedFile(file);int returnVal=jf.showSaveDialog(jishiben.this);if(returnVal=JFileChooser.APPROVE_OPTION)file=jf.getSelectedFile();save
17、();else if(mi=Find) /查找 FindAndReplace fr=new FindAndReplace();fr.setVisible(true);fr.setLocation(getLocation();else if(mi=Replace) /替换 FindAndReplace fr=new FindAndReplace();fr.setVisible(true);fr.setLocation(getLocation();第三章 系统测试(1)程序运行界面如下:(2)“文件菜单的菜单项:(3)“编辑菜单的菜单项:(4)翻开文件及另存文件时的界面:由于翻开文件和另存文件都要
18、寻找路径,所以开始时界面相同。(5)翻开了某一个文本文件是的截图:(6)使用查找替换时的截图:在“查找内容的框内输入查找的内容,再按“查找下一个这个按钮就可以查找。如果要替换所查找的内容,就在“替换字串的框内输入要替换成的内容。如图中就是把“风水替换“风。(7)记事本关闭或退出时的截图:当文件发生了剪切、删除、粘贴等操作,或者在编辑区中输入了字符,即文件进行了修改,当点击“文件菜单中的“退出项或者点击了窗口的关闭按钮时,就会弹出一个“保存文件的对话框。如果文件没有发生修改,关闭或者退出时,直接关闭了记事本程序。由于其他的操作在截图里很难发现什么变化,所以只展示了上面的截图。第四章 软件使用说明
19、书本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件、“编辑、“帮助三个主菜单;(2)、“文件有“新建、“翻开、“保存、“另存为、“退出五个子菜单,分别用于新建文件,翻开文件,保存文件,另存文件,退出记事本。其中文件另存为时应选择保存路径。(3)、“编辑中,有“剪切、“复制、“粘贴、“删除、“查找、“替换、“全选七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。(4)“帮助菜单中有“关于的子菜单,用于描述记事本程序的相关信息。注:在用户退出记事本程序时可通过“文件退出功能和直接关闭记事本对话框。当文件被修改时,将有是否保存对话框。用户可选择“是,“否。设计总结在经过了将近两周的Java课程的学习之后,对于Java这门优秀的编程语言有了更深层次的认识。在学习的过程中,通过朱老师的教学指导、课外对相关知识的阅读和上机实际操作,对于它所具有的面向对象、与平台无关、平安、稳定和多线程等特点,有了更深刻更直观的认识和理解。因为对相关知识理解得还不是很透彻。致使在这次课程设计的过程中,遇到了很多问题。诸如,监控的定义:是否可以在一个监控器里再次添加一个监控器。还有menubar中不可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国SiO2气凝胶行业市场全景调研及战略咨询研究报告
- 2025年线路测试仪项目可行性研究报告
- 2025年甲醛自检盒项目可行性研究报告
- 人工智能助力高等教育转型的策略与路径探索
- 普惠托育服务发展策略与落实路径
- 矿泉水行业发展趋势与未来市场潜力分析
- 2025年汽车进气歧管项目可行性研究报告
- 海洋能规模化应用路径探索
- 2025新员工入职安全培训考试试题附答案【培优A卷】
- 2025年抛光砖陶瓷保护膜项目可行性研究报告
- 江苏省靖江外国语学校2023-2024学年中考数学最后冲刺模拟试卷含解析
- 人教版一年级数学下册期中测试卷(共6套)
- 油气管道输送效率提升技术
- 湖北省武汉市硚口区2023-2024学年七年级下学期期中考试数学试卷
- 公路工程施工监理规范
- 2024年4月自考00642传播学概论试题及答案含评分标准
- 材料设备进场计划及保证措施
- 压力容器安全风险管控清单(日管控、周排查、月调度)
- 四年级艺术测评美术素养考试试题
- 电动吸引器吸痰操作流程
- 《老师水缸破了》
评论
0/150
提交评论