仿windows JAVA 课程设计 记事本_第1页
仿windows JAVA 课程设计 记事本_第2页
仿windows JAVA 课程设计 记事本_第3页
仿windows JAVA 课程设计 记事本_第4页
仿windows JAVA 课程设计 记事本_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

./前言随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本课程设计就是主要利用java语言编写的一个模仿windows记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能。目录一、需求分析……1二、概要设计……1三、详细设计……2四、系统调试分析………………6五、课程设计心得体会…………7六、使用说明……7七、参考文献及致……………7附录〔程序源代码………7一、需求分析该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要现记事本的基本功能,参考了windows中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。二、概要设计1.1系统主要功能本程序是利用java程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。1.2运行环境要求<1>实现设计的系统硬件需求硬件配置的基本要求:*586以上的计算机*32MB以上的存*彩色显示器*3.5寸高密软盘驱动器*光盘驱动器*4G以上硬盘空间*鼠标<2>实现设计的系统软件*WINDOWS95或WINDOWS98*JcreatorPro全套软件三、详细设计设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane创建面板窗口textPane,利用Jlabel创建状态栏statusBar,利用JFileChooser创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。建立构造函数publicEditorDemo<>;通过该构造函数实现记事本程序的主要功能,运行时在主类过调用该构造函数来实现对记事本程序的基本操作。1:窗口设计在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。publicclassEditorDemoextendsJFrameJTextPanetextPane=newJTextPane<>;//创建文本窗格,编辑窗口JFileChooserfilechooser=newJFileChooser<>;//文件选择器setJMenuBar<createJMenuBar<actions>>;//设置菜单栏Containercontainer=getContentPane<>;//得到容器container.add<createJToolBar<actions>,BorderLayout.NORTH>;//工具栏container.add<textPane,BorderLayout.CENTER>;//增加文本窗格2:功能设计〔1在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同接口。privateJMenuBarcreateJMenuBar<Action[]actions>//创建菜单栏 JMenuBarmenubar=newJMenuBar<>;//实例化菜单栏 JMenumenuFile=newJMenu<"文件<F>">;//实例化菜单JMenumenuEdit=newJMenu<"编辑<E>">; JMenumenuFormat=newJMenu<"格式<O>">; JMenumenuFind=newJMenu<"查找<V>">; JMenumenuAbout=newJMenu<"帮助<H>">; menuFile.add<newJMenuItem<actions[0]>>;//增加新菜单项 menuFile.add<newJMenuItem<actions[1]>>; menuFile.add<newJMenuItem<actions[2]>>; menuFile.addSeparator<>; menuFile.add<newJMenuItem<actions[7]>>; menuEdit.add<newJMenuItem<actions[3]>>; menuEdit.add<newJMenuItem<actions[4]>>; menuEdit.add<newJMenuItem<actions[5]>>; menuAbout.add<newJMenuItem<actions[6]>>; menubar.add<menuFile>;//增加菜单 menubar.add<menuEdit>; menubar.add<menuFormat>; menubar.add<menuFind>; menubar.add<menuAbout>; returnmenubar;//返回菜单栏如下图:〔2加入工具栏的功能键,通过工具栏实现对文本的基本操作。Action[]actions=//Action数组,各种操作命令 newNewAction<>, newOpenAction<>, newSaveAction<>, newCutAction<>, newCopyAction<>, newPasteAction<>, newAboutAction<>, newExitAction<>,privateJToolBarcreateJToolBar<Action[]actions>//创建工具条 JToolBartoolBar=newJToolBar<>;//实例化工具条 JButtonbt=newJButton<actions[i]>;//实例化新的按钮 toolBar.add<bt>;//增加按钮到工具栏如图所示:〔3对每个菜单项进行注册监听。点击不同功能键时,实现不同的操作,显示不同的窗口。主要实现方法代码如下:classNewActionextendsAbstractAction{//实现新建文件命令功能 publicNewAction<>{ super<"新建文本">;} publicvoidactionPerformed<ActionEvente>{ textPane.setDocument<newDefaultStyledDocument<>>;//清空文档 }}classOpenActionextendsAbstractAction{//实现打开文件命令功能 publicOpenAction<>{ super<"打开文本">;} publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showOpenDialog<EditorDemo.this>;//显示打开文件对话框 if<i==JFileChooser.APPROVE_OPTION>{//点击对话框中打开选项 Filef=filechooser.getSelectedFile<>;//得到选择的文件 try{ InputStreamis=newFileInputStream<f>;//得到文件输入流 textPane.read<is,"d">;//读入文件到文本窗格 }catch<Exceptionex>{ ex.printStackTrace<>;//输出出错信息 }}}}如下图: classSaveActionextendsAbstractAction{//实现保存文本命令 publicSaveAction<>{ super<"保存文本">;} publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showSaveDialog<EditorDemo.this>;//显示保存文件对话框 if<i==JFileChooser.APPROVE_OPTION>{//点击对话框中保存按钮 Filef=filechooser.getSelectedFile<>;//得到选择的文件 try{ FileOutputStreamout=newFileOutputStream<f>;//得到文件输出流 out.write<textPane.getText<>.getBytes<>>;//写出文件 }catch<Exceptionex>{ ex.printStackTrace<>;//输出出错信息 }}}}如下图:classExitActionextendsAbstractAction{//实现退出命令 publicExitAction<>{ super<"退出系统">;} publicvoidactionPerformed<ActionEvente>{ System.exit<0>;//退出程序}}classCutActionextendsAbstractAction{//实现剪切命令 publicCutAction<>{ super<"剪切">;} publicvoidactionPerformed<ActionEvente>{ textPane.cut<>;//调用文本窗格的剪切命令}}classCopyActionextendsAbstractAction{//实现拷贝命令 publicCopyAction<>{ super<"拷贝">;} publicvoidactionPerformed<ActionEvente>{textPane.copy<>;//调用文本窗格的拷贝命令classPasteActionextendsAbstractAction{//实现粘贴命令publicPasteAction<>{ super<"粘贴">;} publicvoidactionPerformed<ActionEvente>{ textPane.paste<>;//调用文本窗格的粘贴命令}}classAboutActionextendsAbstractAction{//关于版本命令 publicAboutAction<>{ super<"版本">;} publicvoidactionPerformed<ActionEvente>{Stringstr="简易记事本\n\版本:1.0\n作者:郭孔明\n主要功能:实现简单文本编辑。 JOptionPane.showMessageDialog<EditorDemo.this,str>;//显示软件信息 }}如下图:四、系统调试分析1:窗口调试确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成所有方法的源代码编辑后,对程序进行编译、运行!会出现窗体如下图:2:功能调试对所有菜单项进行注册监听。在编写触发事件时执行各项操作,包括了一些常用部分的事件处理,实现各功能键的操作。例如当点击"文件"按钮是显示如下窗口:当需要打开已存在的文件时,点击"打开文本"按钮会出现如下窗口:当输入完文本是要保存的话,点击"保存文本"会出现下面的窗口:依次调试其他功能键及窗口,直至达到符合要求的能实现简易的记事本的功能!五、课程设计心得经过java记事本的课程设计,我在老师的指导下,顺利完成该课程设计。通过这次课程设计,我收获到了很多,这次JAVA课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做。我加深了对Java语言的理论知识的理解;我更加熟练的掌握了Java语言的设计能力并且有了实践经验;在设计过程中,学到了许多老师没有在课堂上没有教授的知识;加强了对Java语言的学习兴趣和好感,很是受益匪浅。六、使用说明本课程设计的简易计算本通过在JAVA平台编译、运行源代码,打开计算本窗口,在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击"文件"菜单,选择下拉菜单中的"保存文本"打开"保存"窗口,选择保存文件的根目录进行保存。当需要关闭窗口时可通过"文件"菜单下的"退出系统"选项,或者选择"工具栏"中的"退出系统"按钮,也可以直接点击窗口右上角的关闭图标进行关闭。七.参考文献及致参考文献:洪维恩何嘉java2面向对象程序设计.中国铁道,2004.2致:在本次设计的过程中,各位老师给了我很大的帮助,不仅使我在规定的时间完成了系统的设计,同时还使我学到了很多有益的知识和宝贵的经验。在此,我向帮助我的老师们表示最衷心的感。由于本人水平有限,其中肯定会有一些不当之处,请老师批评指正。八、附录〔程序源代码程序源代码://简单的文本编辑器importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importjavax.swing.text.*;publicclassEditorDemoextendsJFrame{JTextPanetextPane=newJTextPane<>;//文本窗格,编辑窗口 JLabelstatusBar=newJLabel<>;//状态栏 JFileChooserfilechooser=newJFileChooser<>;//文件选择器publicEditorDemo<>{//构造函数 super<"简易记事本">;//调用父类构造函数Action[]actions=//Action数组,各种操作命令 { newNewAction<>, newOpenAction<>, newSaveAction<>, newCutAction<>, newCopyAction<>, newPasteAction<>, newAboutAction<>, newExitAction<>, }; setJMenuBar<createJMenuBar<actions>>;//设置菜单栏 Containercontainer=getContentPane<>;//得到容器 container.add<createJToolBar<actions>,BorderLayout.NORTH>;//增加工具栏 container.add<textPane,BorderLayout.CENTER>;//增加文本窗格 container.add<statusBar,BorderLayout.SOUTH>;//增加状态栏setSize<500,400>;//设置窗口尺寸 setVisible<true>;//设置窗口可视 setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;//关闭窗口时退出程序 } privateJMenuBarcreateJMenuBar<Action[]actions>{//创建菜单栏 JMenuBarmenubar=newJMenuBar<>;//实例化菜单栏 JMenumenuFile=newJMenu<"文件<F>">;//实例化菜单 JMenumenuEdit=newJMenu<"编辑<E>">; JMenumenuFormat=newJMenu<"格式<O>">; JMenumenuFind=newJMenu<"查找<V>">; JMenumenuAbout=newJMenu<"帮助<H>">; menuFile.add<newJMenuItem<actions[0]>>;//增加新菜单项 menuFile.add<newJMenuItem<actions[1]>>; menuFile.add<newJMenuItem<actions[2]>>; menuFile.addSeparator<>; menuFile.add<newJMenuItem<actions[7]>>; menuEdit.add<newJMenuItem<actions[3]>>; menuEdit.add<newJMenuItem<actions[4]>>; menuEdit.add<newJMenuItem<actions[5]>>; menuAbout.add<newJMenuItem<actions[6]>>; menubar.add<menuFile>;//增加菜单 menubar.add<menuEdit>; menubar.add<menuFormat>; menubar.add<menuFind>; menubar.add<menuAbout>; returnmenubar;//返回菜单栏 } privateJToolBarcreateJToolBar<Action[]actions>{//创建工具条 JToolBartoolBar=newJToolBar<>;//实例化工具条 for<inti=0;i<actions.length;i++>{ JButtonbt=newJButton<actions[i]>;//实例化新的按钮 bt.setRequestFocusEnabled<false>;//设置不需要焦点 bt.setFont<newFont<"宋体",Font.PLAIN,12>>; bt.setBackground<Color.pink>; toolBar.add<bt>;//增加按钮到工具栏 } returntoolBar;//返回工具栏 } classNewActionextendsAbstractAction{//新建文件命令 publicNewAction<>{ super<"新建文本">; } publicvoidactionPerformed<ActionEvente>{ textPane.setDocument<newDefaultStyledDocument<>>;//清空文档 } } classOpenActionextendsAbstractAction{//打开文件命令 publicOpenAction<>{ super<"打开文本">; } publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showOpenDialog<EditorDemo.this>;//显示打开文件对话框 if<i==JFileChooser.APPROVE_OPTION>{//点击对话框中打开选项 Filef=filechooser.getSelectedFile<>;//得到选择的文件 try{ InputStreamis=newFileInputStream<f>;//得到文件输入流 textPane.read<is,"d">;//读入文件到文本窗格 }catch<Exceptionex>{ ex.printStackTrace<>;//输出出错信息 } } } } classSaveActionextendsAbstractAction{//保存命令 publicSaveAction<>{ super<"保存文本">; } publicvoidactionPerformed<ActionEvente>{ inti=filechooser.showSaveDialog<EditorDemo.this>;//显示保存文件对话框 if<i==JFileChooser.APPROVE_OPTION>{//点击对话框中保存按钮 Filef=filechooser.getSelectedFile<>;//得到选择的文件 try{ FileOutputStreamout=newFileOutputStream<f>;//得到文件输出流 out.write<textPane.getText<>.getBytes<>>;//写出文件 }catch<Exceptionex>{ ex.printStackTrace<>;//输出出错信息 }

温馨提示

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

评论

0/150

提交评论