您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > java记事本课程设计报告书
第页1南京理工大学泰州科技学院计算机科学与技术系计算机科学与技术专业班级课程名:Java语言课程设计课程设计说明书姓名:学号:指导老师:王云设计地点:四号楼4209教室起讫时间:201.01.13—2013.01.18完成报告书时间:2013年01月17日计算机科学与技术系编印2013年01月第页2课程设计要求各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。一、学生应按照老师的要求完成规定的课程设计任务量。二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。程序清单不够填写时统一用A4纸补充并粘贴。对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。三、必须独立完成课程设计,不得相互抄袭。在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通知相关系部做出处理。四、学生课程设计结束后应提交的材料:(1)课程设计说明书(3000字以上);(2)包含完整的、正确的源程序代码(含电子文档);(3)答辨材料(介绍课程设计要点)。第页3参考文献情况序号名称编著者出版社1《Java面向对象程序设计》耿祥义清华大学出版社2345第页4课程设计考核情况教师评价情况指导老师评语:指导老师:_____________(签名)日期:年月日学生答辩情况答辩(组)评语:主答辩老师:____________(签名)答辩日期:年月日综合成绩评定情况综合评价等级:__________________注:共分五个等级(1.优秀2、良好3、中等4、及格5、不合格)第页5课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单第页6一、设计课题及内容课题名称:记本事内容:(1)文件菜单中包括新建、打开、保存、另存为、退出等菜单项,其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为(2)编辑菜单主要包括复制、剪切和粘贴等菜单项,可分别实现编辑区文本内容的编辑操作(3)帮助菜单主要是现实软件版本等信息(4)记事本还实现了点右键弹出快捷菜单功能,加快文档的编辑效率(5)记事本文本区引入滚动窗格,实现编辑区的滚动查看二、设计目的熟悉java.awt,java.math,java.swing等包中的组件。掌握图形界面设计方法。掌握窗体按钮和文本控件对事件的响应。了解java自带的函数方法。三、操作环境操作系统:MicrosoftWindowsXPProfessionalCPU:IntelPentium43.06GHz内存:512M四、设计场所4209教室第页7五、设计过程(设计内容及主要模块,不少于3000字)1)设计要求2)文件菜单中包括新建、打开、保存、另存为、退出等菜单项,其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单主要包括复制、剪切和粘贴等菜单项,可分别实现编辑区文本内容的编辑操作4)帮助菜单主要是现实软件版本等信息5)记事本还实现了点右键弹出快捷菜单功能,加快文档的编辑效率6)记事本文本区引入滚动窗格,实现编辑区的滚动查看2.总体设计7)功能模块图:8)功能描述1、文件-新建。首先是一个新建的记事本,具有基本的新建功能,在打开时单击“文件-新建”可以新建一个记事本。如图1所示:图1记事本界面第页82、文件-打开。单击“文件-打开”,可以开一个已经存在于计算机中的文本文件,如图所示。图2打开功能3、文件--保存。单击“文件-保存”,可以对文件进行保存操作如图所示:图3保存界面第页94、文件-另存为,单击“文件-另存为”,可以对文件进行另存为操作。界面如图所示:图4另存为界面5、文件-退出。单击“文件-退出”,可以对文件进行退出操作如图所示:图5退出界面第页106、编辑-复制,单击“编辑-复制”,可以对文件进行复制操作,如图所示:图6-复制界面7、编辑-剪切,单击“编辑-剪切”,可以对文件进行剪切操作如图所示:图7--剪切界面图9--二进制11008、编辑-粘贴。单击“编辑-粘贴”,可以对文件进行粘贴操作,如图所示:第页11图8--粘贴界面9、帮助-关于。单击“帮助-关于”,可以查看记事本的有关信息,如图9所示:图9-关于界面10、文本区域-右击,在文本区域右击,可以对文件进行快捷操作,如图所示:第页12图10-右击,快捷操作3.详细设计1)流程图如下:相应的Java类有:1.ActionListener类:用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed方法。importjava.awt.event.ActionListener;publicvoidactionPerformed(ActionEvente){//编辑if(e.getSource()==itemcopy)text.copy();elseif(e.getSource()==itemcut)text.cut();elseif(e.getSource()==itempaste)text.paste();第页13//编辑//关于elseif(e.getSource()==sguanyu){JOptionPane.showOptionDialog(null,程序名称:\n简单记事本\n+简介:\n一个简单的文字编辑器\n作者:\n王都\n10信管1班\n1009120137\n,关于,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);};Stringname=e.getActionCommand();//关于//文件if(e.getSource()instanceofJMenuItem){if(新建.equals(name)){text.setText();}if(打开.equals(name)){if(file!=null){fileChooser.setSelectedFile(file);}intreturnVal=fileChooser.showOpenDialog(EditWindow.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=fileChooser.getSelectedFile();}try{FileReaderreader=newFileReader(file);intlen=(int)file.length();char[]array=newchar[len];reader.read(array,0,len);reader.close();text.setText(newString(array));}catch(Exceptione_open){e_open.printStackTrace();}}}if(保存.equals(name)){if(file!=null){fileChooser.setSelectedFile(file);第页14}intreturnVal=fileChooser.showSaveDialog(EditWindow.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=fileChooser.getSelectedFile();}try{FileWriterwriter=newFileWriter(file);writer.write(text.getText());writer.close();}catch(Exceptione_save){e_save.getStackTrace();}}if(另存为.equals(name)){if(file!=null){fileChooser.setSelectedFile(file);}intreturnVal=fileChooser.showSaveDialog(EditWindow.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=fileChooser.getSelectedFile();}try{FileWriterwriter=newFileWriter(file);writer.write(text.getText());writer.close();}catch(Exceptione_save){e_save.getStackTrace();}}if(退出.equals(name)){System.exit(0);}}//文件}2.MouseAdapter类:接收鼠标事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。鼠标事件使用户能够跟踪鼠标何时按下、释放、单击、进入组件和离开组件。(要跟踪鼠标移动和鼠标拖动,请使用MouseMotionAdapter。)扩展此类可创建MouseEvent侦听器并重写所需事件的方法。(如果要实现MouseListener接口,则您必须定义该接口内的所有方法。此抽象类将所有方法都定第页15义为null,所以只需针对关心的事件定义方法。)使用扩展的类可以创建侦听器对象,然后使用组件的addMouseListener方法向该组件注册此侦听器对象。当按下、释放或单击(按下后释放)鼠标按键时,或者当鼠标光标进入或离开组件时,则调用侦听器对象中的相关方法,并将MouseEvent传递给该方法。该类的部分代码如下:text.addMouseListener(newMouseAdapter(){publicvoidmouseReleased(MouseEvente){if(e.isPopupTrigger()){popupmenu.show(text,e.getX(),e.getY());}}});}6.主类EditWindow:在该类中,定义了1)所用到的java类库包。java.awt.BorderLayout;java.awt.event.ActionEvent;java.awt.event.ActionListener;java.awt.event.MouseAdapter;java.awt.event.MouseEvent;java.io.File;java.io.FileReader;java.io.FileWriter;javax.swing.JFileChooser;javax.swing.JFrame;javax.swing.JMenu;javax.swing.JMenuBar;javax.swing.JMenuItem;javax.swing.JOptionPane;javax.swing.JPopupMenu;javax.swing.JScrollPane;javax.swing.JSplitPane;javax.swing.JTextArea;2)所用的部分图形组件的定义:JMenuBarmenubar;JMenumenu1,menu2,menu3;JSplitPanesplitPane;JMenuItemitemcopy,itemcut,itempaste,screate,sopen,ssave,sresave,sexit,sguanyu,pcopy,pcut,ppaste;JTextAreatext;privateJPopupMenupopupmenu;第页1
本文标题:java记事本课程设计报告书
链接地址:https://www.777doc.com/doc-6499779 .html