您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > java课程设计记事本
I湖北科技学院课程设计题目:记事本程序设计院(系):资源环境与工程学院年级专业:12地理信息系统姓名:孙唯彬学号:125221009第1页共2页第2页共3页1系统设计关键技术及开发工具简Java的前身是Oak,它一开只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Javaclass、JavaAPI、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有JavaME,JavaSE和JavaEE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中JavaDevelopmentKit简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,使用的是Eclipse开发工具。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。MyEclispe是基于Eclispe的J2EE应用程序开发工具,此系统就是采用MyEclispe6.0来开发的,它集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,它支持开发基于Spring、Hibernate、Struts、JSF、JPA、EJB、WebService等技术的项目。[6]2设计思路及具体实现2.1需求分析第3页共4页现在网络上各种文档编辑器数不胜数,有EmEditor,UEStudio,GridinSoftNotepad,Notepad++,win32pad,SkimEdit,UniRed,xint。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。2.2功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。增加了“颜色”子菜单来对文字的颜色进行设置。(4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。2.3程序设计思路第4页共5页在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到JScrollPaneJMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。图2.1程序运行界面2.4模块说明图图2.2模块说明图在图3.2中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。mynotepadimplementsextendsActionListenerJFramemynotepad的构造方法容器初始化组件事件监听添加菜单栏文字输入区文件初始化初始化新建第5页共6页图3.3模块说明图在图3.3中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。2.5程序流程图FalseFalsetruetruetruetruetruetruetruetrue编辑关于剪切复制粘贴颜色关于启动程序输入文字新建打开保存退出剪切复制粘贴颜色关于file=nullfile=openfilesavingcolorabout.show()打开保存退出第6页共7页图3.4程序流程图2.6程序相关说明整个记事本分为2块:菜单栏和内容输入区。本程序中首先定义一个mynotepad类继承JFrame作为最底层容器。(1).Textcontent为程序文本输入区。(2).Menu为菜单栏。(3).AboutDialog为关于对话框。(4).要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。3程序详细设计与分析3.1初始化组件initTextContent();initMenu();initAboutDialog();3.2.构建菜单栏及其下拉菜单JMenu[]menus=newJMenu[]{System.exit(0)content.cut()content.copy()content.paste关闭或退出程序第7页共8页newJMenu(文件),newJMenu(编辑),newJMenu(关于)};JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem(新建),newJMenuItem(打开),newJMenuItem(保存),newJMenuItem(退出)},{newJMenuItem(复制),newJMenuItem(剪切),newJMenuItem(粘贴),newJMenuItem(颜色)},{newJMenuItem(关于)}};3.3“文件”菜单的事件监听ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){Stringname=e.getActionCommand();JMenuItemMI=(JMenuItem)e.getSource();if(新建.equals(name)){content.setText();file=null;}elseif(打开.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();第8页共9页unfold();}}elseif(保存.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}elseif(退出.equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION);3.4“编辑”菜单的事件监听elseif(剪切.equals(name)){content.cut();}elseif(复制.equals(name)){content.copy();}elseif(粘贴.equals(name)){content.paste();}elseif(颜色.equals(name)){color=JColorChooser.showDialog(mynotepad.this,,color);content.setForeground(color);第9页共10页4系统界面展示图4.1:点击“文件”运行情况第10页共11页图4.2:“文件”菜单中的“打开”对话框图4.3:“编辑”中的“颜色”设置功能第11页共12页图4.4:“关于”对话框调试结果完全符合课程设计要求!设计总结经过一个星期的我的记事本的课程设计,我在老师的指导下,基本上完成我的Java课程设计—简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。通过该课程设计,收获颇多。首先,让我加深了对Java语言的理论知识的理解;进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验,在设计过程中,学到了老师没有在课堂上没有教授的知识,加强了我对Java语言的学习兴趣和好感。第12页共13页第13页共14页附录源代码:packagecom.wxp.Notepad;importjava.awt.*;@SuppressWarnings(serial)classmynotepadextendsJFrame{Filefile=null;Colorcolor=Color.red;mynotepad(){initTextContent();//初始化组件initMenu();initAboutDialog();}voidinitTextContent(){getContentPane().add(newJScrollPane(content));//滚动面板对象}JTextPanecontent=newJTextPane();//创建/内容输入区JFileChooseropenfile=newJFileChooser();//创建打开文件对话框JColorChooseropencolor=newJColorChooser();//颜色选择JDialogabout=newJDialog(this);//关于对话框JMenuBarmenu=newJMenuBar();//创建菜单栏//菜单栏的各个菜单项JMenu[]menus=newJMenu[]{newJMenu(文件),newJMenu(编辑),newJMenu(关于)};//“文件”菜单项的四个下拉菜单JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem(新建),第14页共15页newJMenuItem(打开),newJMenuItem(保存),newJMenuItem(退出)},//编辑菜单的四个下拉菜单{newJMenuItem(复制),newJMenuItem(剪切),newJMenuItem(粘贴),newJMenuItem(颜色),},{newJMenuItem(关于)}};voidinitMenu(){for(inti=0;imenus.length;i++){menu.add(menus[i]);for(intj=0;joptionofmenu[i].length;j++){menus[i].add(optionofmen
本文标题:java课程设计记事本
链接地址:https://www.777doc.com/doc-6087305 .html