Java课程设计报告记事本程序

上传人:仙*** 文档编号:104499249 上传时间:2022-06-10 格式:DOC 页数:17 大小:144.50KB
收藏 版权申诉 举报 下载
Java课程设计报告记事本程序_第1页
第1页 / 共17页
Java课程设计报告记事本程序_第2页
第2页 / 共17页
Java课程设计报告记事本程序_第3页
第3页 / 共17页
资源描述:

《Java课程设计报告记事本程序》由会员分享,可在线阅读,更多相关《Java课程设计报告记事本程序(17页珍藏版)》请在装配图网上搜索。

1、如果您需要使用本文档,请点击下载按钮下载!目 录摘要1前言21设计分析21.1需求分析21.2功能设计32. 概要设计32.1程序设计思路32.2程序模块说明32.3程序流程图52.4 程序相关说明63. 程序详细设计与分析63.1 初始化组件63.2构建菜单栏及其下拉菜单64运行界面及操作流程105源程序清单126设计体会17参考文献17如果您需要使用本文档,请点击下载按钮下载!记事本程序的设计摘要该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java s

2、wing。关键字:记事本程序;Java语言;Creator前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统

3、在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,因为需要开发的是记事本程序,规模较小

4、,内容较少,所以选择了适合初学者使用的Creator开发工具。如果您需要使用本文档,请点击下载按钮下载!1设计分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad+,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使

5、用需要设计了一个简单的记事本程序。1.2功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“查看”,“格式”,“帮助”五个主菜单。(2)“文件”有“新建”“打开”“保存”“退另存为”“退出”等几个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。(3)“编辑”中有“剪切”“复制”“粘贴”“查找”“查找/替换”等几个子菜单。分别用于剪切文字,复制文字,粘贴文字,查找、替换文字进行设置。(4)格式操作:可以对文中的字体设置颜色、字号、字型等格式操作。(5)查看操作:可以显示工具栏和状态栏。 2.概要设计2.1程

6、序设计思路在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了J Scroll Pane ,J Menu,J Text Pane,J File Chooser如果您需要使用本文档,请点击下载按钮下载!等。Menus用来制作菜单,菜单包括“文件”“编辑”“关于”。J Text Pane主要用来输入文本。为了加入颜色的设置,所以加了一个Color Chooser组件。2.2程序模块说明图ImplementsAction Listenermy notepadFrameExtends 图1在图1中,首先创建一个名为my notepad的类并继承Frame类作为最底层的容器。my notepad的

7、构造方法初始化容器组件初始化初始化菜单栏文字输入区查看格式编辑文件字型颜色查找粘贴复制剪切退出保存打开新建 图2 在图2中,构造一个my notepad类时要做两件事情,分别是初始化容器、初始化组件。如果您需要使用本文档,请点击下载按钮下载!2.3程序流程图启动程序输入文字 False False 关于颜色粘贴复制退出剪切保存打开新建 true true true true true true true trueAbout show filecolorOpen fileSavingContent pasteContent copySystem .exit(0)Content cut关闭或退出程

8、序 图32.4程序相关说明整个记事本分为2快:菜单栏和内容输入区。本程序中首先定义一个my notepad类继承Frame作为最底层容器。 (1).Text content为程序文本输入区。 (2).Menu为菜单栏。 (3).About Dialog为关于对话框。 (4).要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中Act Listener实现了Action Listener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。如果您需要使用本文档,请点击下载按钮下载! 另外,还用来Window Listen

9、er来监听处理容器关闭触发的事件,Window Listener继承了Windows Adapter类并覆盖了Windows Closing方法。3.程序详细设计与分析3.1.初始化组件Init Text Content (); Init Menu (); Init about Dialog ();3.2.构建菜单栏及其下拉菜单Menu menus=new Menu new Menu(文件),new Menu(编辑),new Menu(关于);J Menu Item option of menu =new J Menu Itemnew J Menu Item(新建),new J Menu It

10、em(打开),new J Menu Item(保存),new J Menu Item(退出) , new J Menu Item(复制), new J Menu Item(剪切),new J Menu Item(粘贴),如果您需要使用本文档,请点击下载按钮下载!new J Menu Item(颜色) , new J Menu Item(帮助) ; 4运行界面及操作流程(1)文本打开、新建、保存等基本操作图4(2)文本编辑功能:如果您需要使用本文档,请点击下载按钮下载! 图5(3)文件菜单中的“打开”对话框图6如果您需要使用本文档,请点击下载按钮下载!5源程序清单Import java. Act

11、;Import java. Act .event;Import java swing;Import java swing. Event;Import java. Ion;Import java .until;Import java .text;Public class Jab Boolean dirty=true;String text=;J Frame frame=new J Frame(我的记事本);J Popup Menu pop=new J Popup Menu(弹出);J Text Area text=new J Text Area ();J Label stat bar=new J

12、 Label(状态栏);Member Mbar=new J Menu Bar ();J File Chooser jFileChooser1=new J File Chooser ();J Color Chooser j Color=new J Color Chooser ();J Menu j File=new J Menu(文件);J Menu j Edit=new Menu(编辑);Menu format=new Menu(格式);Menu help=new Menu(帮助);J Menu Item j new=new J Menu Item(新建(N);public Jab() /无参

13、数的构造函数This dirty=false;Final Border Layout borderLayout1=new Border Layout ();Frame set Size (600,500);/Frame Add Window Listener (new Jab frame closing Adapter (this);Panel panel=new Panel ();Panel set Layout(borderLayout1);/布局Panel add(new J Scroll Pane(text);/滚动条Panel add (stat bar , border Layou

14、t1.SOUTH);Frame get Content Pane ().add (panel); Frame Set J Menu Bar (Mbar); /将主菜单添加到窗体中j newj new. Add Action Listener (new File new action Adapter (this);New set Mnemonic(N);/N上下划线j new. Set Accelerator (Key stroke. Get Key Stroke(N,java act event. CTRL _MASK true);如果您需要使用本文档,请点击下载按钮下载!/快捷方式* j o

15、penJ Menu Item j open=new J Menu Item(打开(O);/j openJ open add Action Listener (new File_ open_ action Adapter (this);J open set Mnemonic(O);J open set accelerator (Key Stroke. Get Key Stroke(O,java. Act event. CTRL_MASK, true);* j saveJ Menu Item j save=new J Menu Item(保存(S);J save Add Action Listen

16、er (new File save action Adapter (this);J save .set Mnemonic(S);J saves. Set Accelerator (Key Stroke. get Key Stroke (S, java act .Event. CTRL_ MASK, true);* j save asJ Menu Item j saves=new J Menu Item(另存为.);J saves .add Action Listener (new File _saves_ action Adapter (this);* j quiteJ Menu Item j

17、 quite=new J Menu Item(关闭(Q);J quite adds action Listener (new File _quite_ action Adapter (this);j quite. set Mnemonic(Q);j quite set Accelerator(Key Stroke get Key Stroke(Q, java .act .Event .CTRL MASK ,true); j File code of end* j Edit codeJ Menu Item judo=new J Menu Item(撤销(U);J undo add Action

18、Listener (new Edit_ undo_ action Adapter (this);J undo .set Mnemonic(U);J undo set accelerator (Key stroke. Get Key Stroke(U, java .act .Event .CTRL MASK ,true);* j cutJ Menu Item j cut=new J Menu Item(剪切(X);J cut. Add Action Listener (new Edit_ cut_ action Adapter (this);J cut. Set Mnemonic(X);J cu

19、t. Set Accelerator(Key Stroke .get Key Stroke(X,java. Act event. CTRL MASK, true);* j copy如果您需要使用本文档,请点击下载按钮下载!Menu Item copy=new J Menu Item(复制(C);J copy Add Action Listener (new Edit copy action Adapter (this);J copy set Mnemonic(C);J copy set Accelerator (Key Stroke. Get Key Stroke(C,java act eve

20、nt. CTRL_ MASK, true);* j pasteJ Menu Item j paste=new J Menu Item(粘贴(V);J paste add Action Listener(new Edit paste action Adapter (this);J paste set Mnemonic(V);J paste set Accelerator (Key Stroke. Get Key Stroke(V,java. Act event. CTR MASK, true);* deleteJ Menu Item delete=new J Menu Item(删除(D);J

21、delete add Action Listener (new Edit delete action Adapter (this);J delete set Mnemonic(D);J delete set Accelerator (Key Stroke. get Key Stroke (D,java act Event. CTRL MASK, true);* j findJ Menu Item j find=new J Menu Item(查找(F);J find add Action Listener (new Edit find action Adapter (this);j find

22、set Mnemonic (F);j find set Accelerator (Key Stroke. get Key Stroke (F,java. Act Event. CTRL MASK, true);* replaceJ Menu Item replace=new J Menu Item(替换(R);J replace. add Action Listener(new Edit replace action Adapter (this);J replace. Set Mnemonic(R);J replace set keystroke. jokey stroke (R,java.

23、Act TRL ASK, rue); Texttext.setDoubleBuffered(false);text.setToolTipText(我的记事本);text.setVerifyInputWhenFocusTarget(true);text.setText();text.addCaretListener(new Jsb_text_caretAdapter(this);text.addMouseListener(new Jsb_text_mouseAdapter(this);text.addAncestorListener(new Jsb_text_ancestorAdapter(th

24、is);如果您需要使用本文档,请点击下载按钮下载!Mbar.add(jFile);Mbar.add(jEdit);Mbar.add(jFormat);Mbar.add(jHelp);jFile.add(jnew);jFile.add(jopen);jFile.addSeparator();jFile.add(jsave);jFile.add(jsaveas);jFile.addSeparator();jFile.add(jquite);jEdit.add(jundo);jEdit.addSeparator();jEdit.add(jcut);jEdit.add(jcopy);jEdit.add

25、(jpaste);jEdit.add(jdelete);jEdit.addSeparator();jEdit.add(jfind);jEdit.add(jreplace);jEdit.addSeparator();jEdit.add(jselectall);jEdit.add(jdate);jFormat.add(jword);jFormat.addSeparator();jFormat.add(jfont);this.save();jFormat.addSeparator(); Event/public void frame_windowclose_windowClosing(WindowL

26、istener e)this.close(); public void text_ mouse Clicked(Mouse Event e)if(e.getModifiers()=InputEvent.BUTTON3_MASK)pop.show(Component)e.getSource(),e.getX(),e.getY();public void text_ancestorAdded(AncestorEvent e)如果您需要使用本文档,请点击下载按钮下载!this.dirty=false;this.newtext();public void text_caretUpdate(CaretE

27、vent e) this.dirty=true;/this.statubar.setText(this.text.getText(); File public void File_open_actionPerformed(ActionEvent e)/打开的事件this.opentext();public void File_ new_ action Performed(Action Event e)/新建的事件this.newtext();public void File_save_actionPerformed(ActionEvent e)/保存的事件public void File_sa

28、veas_actionPerformed(ActionEvent e)/另存为this.saveas();public void File_quite_actionPerformed(ActionEvent e)this.close(); 如果您需要使用本文档,请点击下载按钮下载!6设计体会经过差不多两天的努力,基本上完成我的Java课程设计简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为

29、了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。如果您需要使用本文档,请点击下载按钮下载!参考文献1.孙全党 王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2009.22.雷之宇,Java项目开发实践网络篇,中国铁道出版社,2010.53.赵玉阳,Java从入门到精通,清华大学出版社,2009.84.李茏怡,Java编程实例讲解,高等教育出版社,2010.11 (注:可编辑下载,若有不当之处,请指正,谢谢!)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!