课程设计论文 java记算器

上传人:无*** 文档编号:82523032 上传时间:2022-04-29 格式:DOC 页数:22 大小:218KB
收藏 版权申诉 举报 下载
课程设计论文 java记算器_第1页
第1页 / 共22页
课程设计论文 java记算器_第2页
第2页 / 共22页
课程设计论文 java记算器_第3页
第3页 / 共22页
资源描述:

《课程设计论文 java记算器》由会员分享,可在线阅读,更多相关《课程设计论文 java记算器(22页珍藏版)》请在装配图网上搜索。

1、秦皇岛职业技术学院信息工程系秦皇岛职业技术学院课程设计论文设计题目: java记算器 学生姓名: 指导教师: 专业名称:计算机应用技术专业所在院系: 信息工程系 年 月 日 19摘 要该程序是一个图形界面的java记事本,其界面主要采用了swing包, 程序实现了文本编辑器的基本功能有:新建文件、打开文件、文件保存、文件另存为、剪切、复制、粘贴、删除、查找/替换、改变字体大小,另外还利用Time类的schedule方法实现了文件的定时自动更新功能,并创建备份文件,由于Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插

2、拔的外观风格。所以只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。 与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。 Swing API 的大部分是AWT的补充扩展而不是直接的代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼

3、容。标准器件工具包 是一个最初由IBM开发的工具包,现在由Eclipse基金会维护。 SWT的实现同重量级的组件AWT有更多的共同之处。这样的好处是运行开销同所在平台的原生窗口工具包更为接近。关键字:java 程序 编辑器 记事本目 录第1章 概要设计11.1查找资料11.2选题11.3总结数据、明确任务21.4本次设计的重大意义21.5本章小节3第2章 程序整体设计说明42.1程序框架图42.2程序部分源代码及注释52.3程序运行效果82.4本章小节8第3章 设计中遇到的重点及难点123.1设计中遇到的重点123.2设计中的遇到的难点123.3本章小节13第4章 本次设计中存在不足与改良方案

4、144.1本次设计中存在的不足144.2本次设计的改良方案144.3本章小节14结 论15参考文献16致 谢17指导教师评语18答辩委员会评语19第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。计算机正以其前所未有的惊人速度向前发展,新的研究成果、新的实用软件不断涌现。计算机应用也普及到各行各业、深入到人类各种社会活动和生产中。为了便于对大量信息的处理,运用计算机软件实现自动管理成为了必然的趋势。“记事本”是一个用来创建简单的文档的基本的文本编辑器。“记事本”最常用来查看或编辑文本 (.txt) 文件,也可以作为创建 Web 页的

5、简单工具。所以我们需要开发一个记事本系统来实现大量信息的管理。开发工具是完成整个设计的重要基础,没有工具我们就无法进行开发和设计工作,所以开发工具的选择也就成为了我们开发过程中很关键的一步。我们选用了Java来完成记事本系统的设计,并运用Jcreator LE集成开发环境。 Java 语言具有简单、面向对象、分布式、解释执行、可移植性、多线程以及动态性的特点使我们可以开发出功能强大的应用程序1.2选题Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部

6、件。线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以

7、及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。1.3 总结数据、明确任务1.3.1总结数据(1)程序易懂编写代码的过程中,应时刻意识到所编写的代码不仅要能够在机器中运行,还要使别人容易看懂。机器能够运行而别人无法理解的程序,不是好程序,为此要尽量遵循原则,写简单明了的代码。(2)先设计,后编码在编码之前作好程序的设计工作,可以减少以后重复修改代码的工作量,作到事倍功半。因此在真正开始编程前,花一定时间搞清楚怎样写代码,将来可能花更少的时间编写代码,而且会减少将来大量修改代码

8、的机会。(3)保持代码简洁复杂代码写后不易理解,在修改和重写上难度比较大,使工作更加复杂,所以编写代码时应保持代码的简洁易懂。(4)功能实现在整个设计中要保持完整性,能够实现记事本中最基本的功能,如打开、保存等。所写内容的字体可以自由设置,颜色也可随意更改。1.3.2明确任务用java编写一个简单的记事本,使其能够实现最基本的功能,如文件的打开、新建、保存、退出,编辑的删除、全选、剪切、复制、粘贴,格式的字体、颜色设置等等。1.4 本次设计的重大意义这次编写的java记事本是用来查看文本文件的,也是一个用来创建简单的文档的基本的文本编辑器。它具有简单方便的特点,是人们在运用计算机时必不可少的一

9、个查看和手写文本的工具。1.5 本章小结通过第一章我们可以了解到这次java课程设计的一个总的概况。掌握了java程序编辑器、图形界面以及文件操作的实现。这次程序设计在设计类的时候。考虑到了简单明了。这们设计的优点是:条理清晰,容易理解,容易修改。第2章程序整体设计说明程序框架图为应用程序提供一个图形化的界面本次设计运行出的程序框架图如图2-1所示新建文件打开保存另存为页面设置打印退出编辑撤消重做剪切复制粘贴删除全选时间/日期格式自动换行字体设置颜色字体颜色查看状态栏帮助帮助主题关于记事本背景颜色图2-1程序框架图2.2 程序部分源代码及注释2.2.1程序中所用包说明/import java

10、packagesimport java.awt.*; /包含用于创建用户界面和绘制图形图像的所有类import java.awt.event.*; /提供处理由 AWT 组件所激发的各类事件的接口和类。import java.text.*; /提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。import java.util.*; /包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。import java.io.*; /通过数据流、序列化和文件系统提供系统输入和输出。import java

11、x.swing.undo.*; /允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。import javax.swing.border.*; /提供围绕 Swing 组件绘制特殊边框的类和接口。import javax.swing.*; /提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。import javax.swing.text.*; /提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。import javax.swing.event.*; /供 Swing 组件触发的事件使用。import java.aw

12、t.datatransfer.*; /提供在应用程序之间和在应用程序内部传输数据的接口和类。import java.awt.print.*; /启动并执行打印机作业的抽象类。import javax.print.attribute.*; /为打印机请求属性(即:实现接口 PrintRequestAttribute 的打印属性)的集合指定接口。2.2.2程序中所用到的变量(1)定义类变量JMenu /定义菜单JMenuItem /菜单中项的实现JMenuBar /菜单栏的实现。将 JMenu 对象添加到菜单栏以构造菜单。JCheckBoxMenuItem /可以被选定或取消选定的菜单项。如果被选

13、定,菜单项的旁边通常会出现一个复选标记。如果未被选定或被取消选定,菜单项的旁边就没有复选标记JtextArea /JTextArea 是一个显示纯文本的多行区域。JLabel /用于短文本字符串或图像或二者的显示区。标签不对输入事件作出反应。因此,它无法获得键盘焦点。但是,标签可以为具有键盘替换功能却无法显示的邻近组件方便地显示其键盘替换功能JPopupMenu /弹出菜单的实现,弹出菜单是一个可弹出并显示一系列选项的小窗口。JPopupMenu 用于用户在菜单栏上选择项时显示的菜单。它还用于当用户选择菜单项并激活它时显示的“右拉式 (pull-right)”菜单。最后,JPopupMenu

14、还可以在想让菜单显示的任何其他位置使用。例如,当用户在指定区域中右击时。Toolkit /java.awt中的类此类是 Abstract Window Toolkit 的所有实际实现的抽象超类。 Clipboard /java.awt.datatransfer中的类,此类实现一种使用剪切/复制/粘贴操作传输数据的机制。Font /Font类表示字体,用来以可见方式呈现文本。UndoManager /javax.swing.undo中的类可以充当 UndoableEditListener的 CompoundEdit的具体子类,并合并来自各种源的UndoableEditEvents,并且一次执行一

15、个撤消或恢复操作。(2)其它变量boolean isNewFile=true; /是否新文件(未保存过的)File currentFile; /当前文件名String oldValue; /存放编辑区原来的内容,用于比较文本是否有改动JButton fontOkButton; /字体设置里的确定按钮2.2.3程序中所用到的代码构造函数public Notepad()super(记事本);Container container=getContentPane(); /获取容器/创建菜单条JMenuBar menuBar = new JMenuBar(); /菜单栏的实现。将JMenu对象添加到菜单

16、栏以构造菜单。/创建文件菜单及菜单项JMenu fileMenu = new JMenu(文件(F), true);fileMenu.setMnemonic(F); /设置快捷键Alt+F从类javax.swing继承的方法设置此按钮的键盘助记符(快捷键或加速器)。fileMenu_New = new JMenuItem(新建(N), N);/ 创建带有指定文本和键盘助记符的 JMenuItem。fileMenu_New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK); /设置组合键,它能直接调

17、用菜单项的操作侦听器而不必显示菜单的层次结构。UI 负责安装正确的操作。注意,当键入键盘加速器时,不管目前是否显示菜单,它都会运行。fileMenu_Open = new JMenuItem(打开(O)., O); /文件菜单中的打开项fileMenu_Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK);文件菜单中还有保存、另存为、页面设置、打印、退出等菜单项。此菜单项功能与前面所列出的新建、打开功能一样,另外在编辑菜单中有编辑、重做、剪切、复制、粘贴、删除、全选、时间/日期等菜单项,它们

18、的功能同上面创建文件菜单及菜单项的功能等同。在此就不做详细的介绍了。/创建格式菜单及菜单项JMenu formatMenu = new JMenu(格式(O), true);formatMenu_LineWrap = new JCheckBoxMenuItem(自动换行(W);formatMenu_LineWrap.setState(true); /设置菜单项的选定状态formatMenu_Font = new JMenuItem(字体(F).,F);formatMenu_Color = new JMenu(设置颜色);formatMenu_Color_FgColor=new JMenuIte

19、m(字体颜色);formatMenu_Color_BgColor=new JMenuItem(背景颜色);/创建查看菜单及菜单项JMenu viewMenu = new JMenu(查看(V), true);viewMenu_Status = new JCheckBoxMenuItem(状态栏(S);viewMenu_Status.setState(true); /设置菜单项的选定状态JMenu helpMenu = new JMenu(帮助(H), true);helpMenu_HelpTopics = new JMenuItem(帮助主题(H),H);helpMenu_HelpTopics

20、.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,0);helpMenu_About = new JMenuItem(关于记事本(A),A);menuBar.add(fileMenu);fileMenu.add(fileMenu_New);fileMenu.add(fileMenu_Open);fileMenu.add(fileMenu_Save);fileMenu.add(fileMenu_SaveAs);fileMenu.addSeparator(); /分隔线fileMenu.add(fileMenu_PageSetup);fil

21、eMenu.add(fileMenu_Print);fileMenu.addSeparator(); /分隔线fileMenu.add(fileMenu_Exit);向菜单条添加编辑菜单及菜单项、向菜单条添加格式菜单及菜单项、向菜单条添加查看菜单及菜单项、向菜单条添加帮助菜单及菜单项、向窗口添加菜单条同上面的向菜单条添加“文件“菜单及菜单项一样。2.3 程序运行效果(1)程序运行主要界面如下:a.打开文件对话框图2-2打开文件对话框c保存文件对话框图2-3保存文件对话框d.另存为对话框图2-4另存为对话框e.打印对话框图2-4打印对话框d.字体对话框图2-5字体对话框2.4本章小结本章主要介绍

22、了用java创建记事本的主要代码以及运行后的效果图。运行java记事本以后出现的那个框架图就是我们所说的java图形用户界面(GUI),它是程序与用户进行交流的图像窗口,为应用程序提供一个图形化的界面,程序通过GUI与用户交互,GUI通过事件机制响应用户和程序的交互。如当用户单击某个按钮时就会产生动作事件,要处理产生的事件,需要在特定的方法中编写处理事件的程序。这样,当产生某种事件时就会调用处理这种事件的方法,从而实现用户与程序的交互。另外GUI能使一个应用程序具有与众不同的“外观”与“感觉”。有了GUI,用户就不用花很多时间去记忆各个键盘序列的功能,从而把更多的时间投入到有效地使用应用程序本

23、身上。第3章设计中遇到的重点及难点3.1设计中遇到的重点在这次设计中,遇到的重点有以下两点:(1)Java记事本在新建文件时,打开文件时,保存文件、另存为文件时处理IOException异常。处理方法是在遇到异常时用try,catch方法对异常进行捕获。(2)java记事本中还用到了继承继承是面向对象方法中一个十分重要的的概念,并且是提高软件开发效率的重要原因之一。继承实际上是存在于面向对象程序中的两个类之间的一种关系。继承的实现主要有以下几个步骤。(1)确定父类。根据将创建的子类需要选择一个相应的类作为继承父类。新定义的子类可以从父类那里自动继承所有非私有的属性和方法作为自己的成员。选择一个

24、恰当的父类可以达到事半功倍的效果。(2)定义子类。Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。(3)实现子类的功能。子类具体要实现的功能由类体中相应的域和方法来实现,其编写和一般的类是完全相同的。通过继承,子类拥有父类的所有非私有成员。使用继承具有以下的好处:降低了代码编写中的冗余度,更好地实现了代码复用的功能,从而提高了程序编写的效率;由于降低了代码的冗余度,使得程序在维护时就变得非常的方便。3.2设计中遇到的难点在编写java记事本文件中的新建、打开、保存、另存为时有异常出现。异常是这次设计中的重点

25、也是一个难点。任何计算机语言的程序都难免有漏洞,捕获错误最理想的是在编译期间,最好在试图运行程序以前。Java支持的异常处理功能比其他语言提供的更灵活。当java程序执行中发生错误时,错误事件对象可能导致的程序运行错误称为异常,异常会输出错误消息,使其知道该如何正确地处理遇到的问题。当java运行系统在得到一个异常对象时,它将会寻找处理这一异常的代码,找到能够处理这种类型异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。如果java运行时系统找不到可以捕获异常的方法,则运行时系统将会终止,相应的java程序也将退出。这次在java记事本程序用到的就

26、是try,catch来捕获的异常。3.3本章小结通过这一章我们了解到了继承和异常的处理。在面向对象的程序设计中,通过采用继承的机制来组织、设计系统中的类,可以提高程序的抽象程序,使之更接近于人类的思维方式,同时也可以提高程序开发效率,降低维护的工作量。我们还知道了一些异常处理的情况,异常是在运行时发生的错误,使用java异常处理子系统,就可以用一种结构化的可控方式来处理运行时的错误。在使用try, catch来捕获异常时。这两个关键字要一起使用,只有try而没有catch,或者是只有catch而没有try都是不可以的。当try描述的代码段遇到异常发生时,计算机控制权由try转移到catch异常

27、处理代码块。当抛出一个异常时,异常会由相应的catch语句来捕获并处理。第4章本次设计存在不足与改良方案4.1 本次设计中存在的不足在本次设计中主要有以下几个方面是不完善的。(1)页面设置的不足页面设置尚未添加,只有一个框架,不能实现其功能如图4-1所示:图4-1页面设置(2)查找与替换的不足我花费了近两个多星期的时间,查阅了许多相关的资料,终于把这个Java记事本程序基本实现了该课程设计的基本要求。但由于自己水平有限,使得程序还有不是很完善,首先,最重要的一点是该设计的查找替换功能没有实现。4.2本次设计的改良方案整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。开发方法,文

28、档规范化,便于管理,可扩充。添加上查找与替换的功能,使程序更加完善。4.3本章小结通过对本程序的改良,这个程序将会更加完善,问题都是我们自己发现的,只要我们多做,就会发现问题,只有发现问题还会去想怎样去解决问题。这样系统就会不断的改善,不断的提高。结 论通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。我深刻地体会到自己所学知识得浅薄,当课程结束以后感觉自己已经掌握了Java

29、的真谛,但是在课程设计中我才发现自己仅仅握了一点皮毛而已,存在的一些问题全暴露出来了。参考文献1 Bruce Ecle,java编程思想,机械工业出版社.2002.32 朱战立,沈伟,java程序设计实用教程,电子工业出版社. 2000.13 吴晓东,java程序设计基础,清华大学出版社. 2005.64 朱喜福,林建民,java程序设计,人民邮电出版社,20015 印旻,Java与面向对象程序设计教程,高等教育出版社,2004.46 林智扬,范明,Java Swing程序设计,中国铁道出版社,2005.5致 谢论文完成的前提是老师给我提供了舒适的工作、学习环境,并给予我悉心的关怀与指导。在些表示衷心地感谢。老师认真负责的工作态度、严谨的治学风格,使我深受启发;开发的同时,和同学们之间的相互探讨也使我获益匪浅。半年时间内,我除基本学会开发java程序外更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。所以我再次感谢老师和我的同学们。在本次Java课程设计中,首先要感谢我的指导老师李旺彦老师教给了我很多的Java的编程知识,编程思想,还有要感谢我的同学,是他们在我遇到困难时给了我指导指导教师评语指导教师: 年 月 日答辩委员会评语答辩委员会签字: 年 月 日

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