版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上攀枝花学院课程设计题 目: 记事本程序设计 院 (系): 数学与计算机学院 年级专业: 姓 名: 学 号: 指导教师: 二一三年十二月三十日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目记事本1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)模拟Windows的记事本程序,编写一个记事本。要求具备基本的编辑、复制、粘贴、剪切、保存文件等功能,界面美观。3、主要参考文献1朱福喜.Java语言程序
2、设计(第二版).科学出版社2陈国君等.Java程序设计基础(第二版).清华大学出版社3 Deitel.Java大学基础教程(第六版).电子工业出版社 4 MaryCampione.Java语言导学(第四版).机械工业出版社5 Y.Daniel Liang.Java语言程序设计基础篇(第六版). 机械工业出版社6 Kathy Sierra.Head First Java(第二版).东南大学出版社4、课程设计工作进度计划序号时间(天)内容安备注11分析设计准备周一22编程调试阶段周二至周三31编写课程设计报告周四41考核周五总计5(天)指导教师(签字)日期 年 月 日教研室意见:年 月 日学生(签
3、字): 接受任务时间: 年 月 日注:任务书由指导教师填写。课程设计(论文)指导教师成绩评定表题目名称记事本评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种
4、信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分
5、析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年 月 日专心-专注-专业摘 要目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。按照教学培养计划要求,学生在学习完课本中指定课时的知识后,应安排一定课时的课程设计。其主要目的是使学生深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等。故此“记事本”应运而生。该报告中的程序是简易记事本。使用Java程序编写,能够进行
6、输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。关键字: 记事本,Java,Java swing目录1 前 言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言
7、、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的
8、每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。2 需求分析2.1需求分析现在网络上各种文档编辑器数不胜数,有,。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记
9、事本程序。2.2功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新 建文件,打开文件,保存文件,退出记事本。(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。增加了“颜色”子菜单来对文字的颜色进行设置。(4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。3 概要设计3.1程序设计思路在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到JScrollPaneJMenu,J
10、TextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。3.2程序运行界面图3.1程序运行界面3.3模块说明图implementsActionListenermynotepadJFrameextends 图3.2模块说明图 在图3.2中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。mynotepad的构造方法容器初始化事件监听添加组件文字输入区初始化初始化新建文件菜单栏打开保存退出关于编辑关于剪切复制颜色粘贴 图3.
11、3模块说明图 在图3.3中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。启动程序3.4程序流程图输入文字 False False 关于颜色粘贴复制退出剪切保存打开新建 true true true true true true true truefile=nullabout.show()colorfile=openfilesavingcontent.pastecontent.copy()System.exit(0)content.cut()关闭或退出程序 图3.4
12、程序流程图3.5程序相关说明整个记事本分为2块:菜单栏和内容输入区。本程序中首先定义一个mynotepad类继承JFrame作为最底层容器。 (1).Textcontent为程序文本输入区。 (2).Menu为菜单栏。 (3).AboutDialog为关于对话框。(4).要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。4 程序详细设计与分析4.1初始化组件initTextContent(); initMen
13、u(); initAboutDialog();4.2.构建菜单栏及其下拉菜单JMenu menus=new JMenunew JMenu(文件),new JMenu(编辑),new JMenu(关于);JMenuItem optionofmenu=new JMenuItemnew JMenuItem(新建),new JMenuItem(打开),new JMenuItem(保存),new JMenuItem(退出) , new JMenuItem(复制), new JMenuItem(剪切),new JMenuItem(粘贴),new JMenuItem(颜色) , new JMenuItem(
14、关于) ;4.3 “文件”菜单的事件监听ActionListener action=new ActionListener() public 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
15、returnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal=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_OPTI
16、ON) file=openfile.getSelectedFile(); saving(); else if(退出.equals(name) mynotepad f=new mynotepad(); int s=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION);4.4 “编辑”菜单的事件监听else if(剪切.equals(name) content.cut(); else if(复制.equals(name) content.copy(); else if(粘贴.equals(name) content.pa
17、ste(); else if(颜色.equals(name) color=JColorChooser.showDialog(mynotepad.this,color); content.setForeground(color); 5 测试分析图5.1:点击“文件”运行情况图5.2:“文件”菜单中的“打开”对话框 图5.3:“编辑”中的“颜色”设置功能图5.4:“关于”对话框调试结果完全符合课程设计要求!结 论经过一个星期的我的记事本的课程设计,我在老师的指导下,基本上完成我的Java课程设计简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。通过该课程设计,收获颇多。首先,让我加深了对
18、Java语言的理论知识的理解;进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验,在设计过程中,学到了老师没有在课堂上没有教授的知识,加强了我对Java语言的学习兴趣和好感。参考文献1朱福喜.Java语言程序设计(第二版).科学出版社2陈国君等.Java程序设计基础(第二版).清华大学出版社3 Deitel.Java大学基础教程(第六版).电子工业出版社 4 MaryCampione.Java语言导学(第四版).机械工业出版社5 Y.Daniel Liang
19、.Java语言程序设计基础篇(第六版). 机械工业出版社6 Kathy Sierra.Head First Java(第二版).东南大学出版社附录源代码:package com.wxp.Notepad;import java.awt.*;SuppressWarnings(serial)class mynotepad extends JFrame File file=null; Color color=Color.red; mynotepad() initTextContent(); /初始化组件 initMenu(); initAboutDialog(); void initTextConte
20、nt() getContentPane().add(new JScrollPane(content); /滚动面板对象 JTextPane content=new JTextPane(); /创建/内容输入区 JFileChooser openfile=new JFileChooser(); /创建打开文件对话框 JColorChooser opencolor=new JColorChooser(); /颜色选择 JDialog about=new JDialog(this); /关于对话框 JMenuBar menu=new JMenuBar(); /创建菜单栏 /菜单栏的各个菜单项JMen
21、u menus=new JMenunew JMenu(文件),new JMenu(编辑),new JMenu(关于); /“文件”菜单项的四个下拉菜单JMenuItem optionofmenu=new JMenuItemnew JMenuItem(新建),new JMenuItem(打开),new JMenuItem(保存),new JMenuItem(退出) , /编辑菜单的四个下拉菜单 new JMenuItem(复制), new JMenuItem(剪切),new JMenuItem(粘贴),new JMenuItem(颜色), , new JMenuItem(关于) ; void i
22、nitMenu() 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() /添加事件监听 SuppressWarnings( unused, deprecation )public void action
23、Performed(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(returnV
24、al=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
25、(); else if(退出.equals(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(粘贴.equal
26、s(name) /监听“粘贴”事件 content.paste(); else if(颜色.equals(name) /监听“颜色”事件 color=JColorChooser.showDialog(mynotepad.this,color); content.setForeground(color); /对颜色进行设置 else if(关于.equals(name) about.setSize(300,150);/设置“关于”对话框大小为300150 about.show(); /显示“关于”对话框 ; void saving() try FileWriter Writef=new File
27、Writer(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(Exception e)e.printStackTrace(); void initAboutDialog() about.setLayout(new GridLayout(3,1); /将“关于”对话框设置为3行1列 about.getContent
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承接安装门帘合同模板
- 无产权院子购买合同模板
- 水利机械安装合同模板
- 2024年德宏小车客运从业资格证考试
- 海洋工程防水堵漏施工合同
- 桌椅招标采购合同范例
- 教师单位用工合同范例
- 昆山工厂拆除回收合同范例
- 广告公司vi合同范例
- 定期结账合同范例
- 2024年云南省公务员录用考试《行测》真题及答案解析
- 幼儿园办园行为督导评估指标体系表
- (高清版)DB43∕T 2628-2023 埋地排水用UHMW一P∕TE方型增强排水管技术规范
- 2024-2030年中国吡蚜酮行业现状发展分析及投资潜力研究报告
- 商业建筑光伏发电系统施工方案
- 广东省深圳市2023-2024学年高一上学期语文期末考试试卷(含答案)
- 河北省保定市定州市2024-2025学年九年级上学期期中考试化学试卷
- 【工程法规】王欣 冲刺串讲班课件 11-第5章-知识点1-合同的订立-知识点2-合同的效力
- 2024年人教部编版语文六年级上册第五单元测试题附答案
- 大疆在线测评题答案
- 承包酒店鲜榨果汁合同范本
评论
0/150
提交评论