




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*实践教学*兰州理工大学计算机与通信学院 2012年秋季学期 Java课程设计题 目: 记事本程序 专业班级: 软件基地班 姓 名: 学 号: 指导教师: 成 绩: 摘 要本次课程设计的题目是用JAVA语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。分别对每个事件定义事件监听器。然后在实现相应的方法。关键词:记事本程序;Java语言;swing组件目 录 摘 要2序 言4 第一章 分析与设计5 第二章 详细设计6第三章 系统测试16第四章 软件使用说明书19设计总结20参考文献21致 谢22序 言 Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,使我们能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Eclipse等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。第一章 分析与设计一、课程设计目的设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。二、课程设计问题设计题目:记事本程序设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对记事本程序的管理。三、概要设计面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。(4)“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。第二章 详细设计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程序界面设计files.add(New); public jishiben() /构造函数super(记事本); / 菜单栏 mb=new JMenuBar();/*菜单栏的各个菜单项*/files=new JMenu(文件); edit=new JMenu(编辑);help=new JMenu(帮助);/*“帮助”菜单项的下拉菜单*/About=new JMenuItem(关于记事本); /*“文件”菜单项的下拉菜单*/Open=new JMenuItem(打开); New=new JMenuItem(新建);Save=new JMenuItem(保存);SaveAs=new JMenuItem(另存为);Exit=new JMenuItem(退出); /*编辑菜单的四个下拉菜单*/Cut=new JMenuItem(剪切); Copy=new JMenuItem(复制);Paste=new JMenuItem(粘贴);Delete=new JMenuItem(删除);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.add(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(mb);text=new JTextArea();add(new JScrollPane(text); /滚动面板setSize(600,500); /设置窗口大小setVisible(true); /使窗口显示3、程序流程图(1)、主流程图开始输入文字?新建打开保存另存为剪切复制粘贴删除查找替换全选关于退出结束图3.1主流程图NY(2)、“文件”菜单操作流程图开始“文件”菜单新建另存为File=null打开用JFileChooser()选择所有打开文件路径用unfold()读取所选的文件内容到记事本保存用sava()保存文件用JFileChooser()选择文件另存的路径用sava()保存文件退出或关闭文件是否修改用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)、“帮助”菜单操作流程图开始“帮助”菜单关于记事本显示记事本的有关信息结束图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 void 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(已修改); 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 JFileChooser(); /创建打开文件对话框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.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();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)打开文件及另存文件时的界面:由于打开文件和另存文件都要寻找路径,所以开始时界面相同。(5)打开了某一个文本文件是的截图:(6)使用查找替换时的截图:在“查找内容”的框内输入查找的内容,再按“查找下一个”这个按钮就可以查找。如果要替换所查找的内容,就在“替换字串”的框内输入要替换成的内容。如图中就是把“风水”替换“风”。(7)记事本关闭或退出时的截图:当文件发生了剪切、删除、粘贴等操作,或者在编辑区中输入了字符,即文件进行了修改,当点击“文件”菜单中的“退出”项或者点击了窗口的关闭按钮时,就会弹出一个“保存文件?”的对话框。如果文件没有发生修改,关闭或者退出时,直接关闭了记事本程序。由于其他的操作在截图里很难发现什么变化,所以只展示了上面的截图。第四章 软件使用说明书本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”五个子菜单,分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。其中文件另存为时应选择保存路径。(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。(4)“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。注:在用户退出记事本程序时可通过“文件退出”功能和直接关闭记事本对话框。当文件被修改时,将有是否保存对话框。用户可选择“是”,“否”。设计总结在经过了将近两周的Java课程的学习之后,对于Java这门优秀的编程语言有了更深层次的认识。在学习的过程中,通过朱老师的教学指导、课外对相关知识的阅读和上机实际操作,对于它所具有的面向对象、与平台无关、安全、稳定和多线程等特点,有了更深刻更直观的认识和理解。因为对相关知识理解得还不是很透彻。致使在这次课程设计的过程中,遇到了很多问题。诸如,监控的定义:是否可以在一个监控器里再次添加一个监控器。还有menubar中不可以添加button按钮以及也不可以添加scrollpane按钮。可以说,这次课设的过程是个很艰辛的过程。不过在设计的过程中,我收获了很多。从选择课程设计的题目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西殡葬服务工二级(技师)历年参考题库典型考点含答案解析
- 焊工基础知识培训课件看板
- 2025年中级卫生职称-主管技师-核医学技术(中级)代码:377历年参考题库典型考点含答案解析
- 2025年药学职称考试-辽宁省-辽宁省药学(初级药师)历年参考题库含答案解析(5套)
- 热网安全知识培训内容课件
- 2025年职业技能鉴定-冷作工-冷作工职业技能监定(初级)历年参考题库含答案解析(5套)
- 2025年综合评标专家-湖北-湖北综合评标专家(工程施工类)历年参考题库含答案解析(5套)
- 2025年综合评标专家-新疆-新疆综合评标专家(交通运输厅)历年参考题库含答案解析(5套)
- 热水壶消防安全知识培训课件
- 烧结厂安全知识培训课件
- 急腹症的诊断及治疗(吴慧锋)
- GB/T 4666-2009纺织品织物长度和幅宽的测定
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- 水轮发电机的基本结构课件
- 《空气动力学》配套教学课件
- 2023年西安陕鼓动力股份有限公司招聘笔试模拟试题及答案解析
- 送达地址确认书(完整版)
- 水泵设备单机试运转记录
- 完整版医院体检报告范本
- 速成意大利语(上)
- Q∕SY 1535-2012 海底管道混凝土配重层技术规范
评论
0/150
提交评论