版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java课程设计报告 题 目:简单记事本程序的设计 年级专业:计算机科学与技术 学 号: 学生姓名: 指导老师: 完成时间:2010年 6月 8 日目 录摘要1前言21需求分析21.1需求分析21.2功能设计32.概要设计32.1程序设计思路32.2程序运行界面32.3模块说明图42.4程序流程图52.5程序相关说明63.程序详细设计与分析63.1.初始化组件63.2.构建菜单栏及其下拉菜单63.3.“文件”菜单的事件监听73.4.“编辑”菜单的事件监听83.5.异常处理94测试分析105源程序清单126课程设计总结17参考文献17 简单记事本程序的设计前言Java的前身是Oak,它一开始只是
2、被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java
3、EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。2.3模块说明图implement
4、sActionListenermynotepadJFrameextends 图1在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。mynotepad的构造方法添加事件监听初始化容器组件初始化初始化文字输入区菜单栏关于编辑文件关于颜色粘贴复制剪切退出保存打开新建 图2 在图2中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。2.4程序流程图启动程序输入文字 False False 关于颜色粘贴复制退出剪切保存打开新建 true tr
5、ue true true true true true trueabout.show()file=nullcolorfile=openfilesavingcontent.pastecontent.copy()System.exit(0)content.cut()关闭或退出程序 图33.5.异常处理在运行程序代码是有可能会产生异常情况或异常事件,为了避免这种情况,就需要在程序中用到Java异常处理机制。本程序中选用的异常处理机制是try,catch。捕获处理异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。saving() try FileWriter Writef=ne
6、w FileWriter(file); Writef.write(content.getText(); Writef.close(); catch(Exception e)e.printStackTrace(); void unfold() try FileReader Readf=new FileReader(file); int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer); catch(
7、Exception e)e.printStackTrace(); 6课程设计总结经过差不多两个星期的努力,基本上完成我的Java课程设计简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,本来
8、一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。参考文献1.孙全党 王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2006.22.雷之宇,Java项目开发实践网络篇,中国铁道出版社,2005.53.赵玉阳,Java从入门到精通,清华大学出版社,2006.84.李茏怡,Java编程实例讲解,高等教育出版社,2005.11完整代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io
9、.*;class mynotepad extends JFrame File file=null; Color color=Color.red; mynotepad() initTextContent(); initMenu(); initAboutDialog(); void initTextContent() getContentPane().add(new JScrollPane(content); JTextPane content=new JTextPane(); JFileChooser openfile=new JFileChooser(); JColorChooser open
10、color=new JColorChooser(); JDialog about=new JDialog(this); JMenuBar menu=new JMenuBar(); JMenu menus=new JMenunew JMenu(文件),new JMenu(编辑),new JMenu(关于);JMenuItem optionofmenu=new JMenuItemnew JMenuItem(新建),new JMenuItem(打开),new JMenuItem(保存),new JMenuItem(退出) , new JMenuItem(复制), new JMenuItem(剪切),
11、new JMenuItem(粘贴),new JMenuItem(颜色) , new JMenuItem(关于) ; void initMenu() for(int i=0;imenus.length;i+) menu.add(menusi); for(int j=0;joptionofmenui.length;j+) menusi.add(optionofmenuij); optionofmenuij.addActionListener( action ); this.setJMenuBar(menu); ActionListener action=new ActionListener() p
12、ublic void actionPerformed(ActionEvent e) String name = e.getActionCommand();JMenuItem MI=(JMenuItem)e.getSource();if(新建.equals(name)content.setText();file=null;else if(打开.equals(name) if(file !=null)openfile.setSelectedFile(file); int returnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal=
13、JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); unfold(); else if(保存.equals(name) if(file!=null) openfile.setSelectedFile(file); int returnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=openfile.getSelectedFile(); saving(); else if(退出.equals
14、(name) mynotepad f=new mynotepad(); int s=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION); if(s=JOptionPane.YES_OPTION) System.exit(0); else if(剪切.equals(name) content.cut(); else if(复制.equals(name) content.copy(); else if(粘贴.equals(name) content.paste(); else if(颜色.equals(name) co
15、lor=JColorChooser.showDialog(mynotepad.this,color); content.setForeground(color); else if(关于.equals(name) about.setSize(300,150); about.show(); ; void saving() try FileWriter Writef=new FileWriter(file); Writef.write(content.getText(); Writef.close(); catch(Exception e)e.printStackTrace(); void unfo
16、ld() try FileReader Readf=new FileReader(file); int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer); catch(Exception e)e.printStackTrace(); void initAboutDialog() about.setLayout(new GridLayout(3,1); about.getContentPane().setBackground(Color.white); about.getContentPane().add(new JLabel(我的记事本程序); about.getContentPane().add(new JLabel(制作者:liuhui); about.getContentPane().add(new JLabel(2010年6月); about.setModal(true); about.setSize(100,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于移交印章的协议书
- 公司软件订购合同范本
- 企业销售培训合同范本
- 卫生局位聘用合同范本
- 厨师老板分红合同范本
- 合同履行转让协议模板
- 代理品牌销售合同范本
- 卖东西授权协议书范本
- 厂房劳务分包合同范本
- 南京月嫂中介合同范本
- 2025-2026学年冀教版(2024)小学数学一年级上册(全册)教学设计(附目录P339)
- 2024译林版八年级英语上册期末复习:Unit1~Unit8全册各单元语法知识点 讲义(含练习题及答案)
- 房屋安全性鉴定方案
- 工作责任感的衡量与评价标准
- 麻精药品考试题及答案
- 感觉运动整合理论-洞察及研究
- 备孕知识课件
- 小班健康活动:风婆婆与小树叶
- 国企资产管理办法细则
- 人教版(2024)八年级上册生物期末复习全册知识点考点背诵提纲
- 慢性根尖周炎病例分析
评论
0/150
提交评论