• 1.15 MB
  • 2022-04-22 13:36:52 发布

基于J2SE的Java程序设计毕业论文.doc

  • 26页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于J2SE的Java程序设计毕业论文目录引言-1-1、开发环境概述-1-1.1开发平台及开发工具概述-1-1.1.1Java介绍-1-1.1.2Java的特点-2-1.1.3Java平台介绍-3-1.1.4类-3-1.1.5方法-4-1.2Swing-4-1.2.1Swing介绍-4-1.2.2Swing的原理-4-1.2.3Swing与AWT的关系-5-1.2.4创建图形界面步骤-5-1.3需求概述-6-1.4简历生成程序的功能要求-6-1.5运行环境-6-2、环境搭建-6-2.1安装JDK-6-2.2设置环境变量-7-2.3HelloWorld程序-11-2.3.1编写源程序-11-2.3.2编译程序代码并运行-11-3、设计规划-13-3.1程序说明-13-3.2总体设计说明-13- 4、详细设计-14-4.1界面设计-14-4.2信息输入模块-15-4.3信息预览模块-18-4.4信息操作模块-19-5、结论-22-6、致谢-23-7、参考文献-24- 1、开发环境概述1.1开发平台及开发工具概述开发平台:J2SE开发工具:JavaVersion6Update11、Swing1.1.1Java介绍Java是1995年6月有Sun公司引进到这个世界的革命性的编程语言,它被美国的著名杂志《PCMagazine》评为1995年十大优秀科技产品。之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件进行一番改动,耗时费力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,Java编写的软件就能在其上运行。Java的出现是源于对独立于平台语言的重要,希望这种编程语言能编写出嵌入各种家用电器等设备的芯片上、且易于维护的程序。但是,人们发现当时的编程语言,比如C、C++等都有一个共同的缺点,那就是针对CPU芯片进行编译。这样,一旦电气设备更换了芯片就不能保证程序正确运行,就可能需要修改程序并针对新的芯片重新进行编译。1990年Sun公司成立了有JamesGosling领导的开发小组,开始致力于开发一种可移植的、跨平台的编程语言,该编程语言能生成正确运行与各种操作系统、各种CPU芯片上的代码。他们的精心专研和努力促成了Java的诞生。Java的快速发展得利于Internet和Web的出现,Internet上各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来。1.1.2Java的特点1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。  2、Java语言是一个面向对象的-23- 。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。  3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。  4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。  5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。  7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。  8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。  9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11、Java语言是动态的。-23- Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。1.1.3Java平台介绍Sun公司要实现“一次写成,处处运行”(writeonce,runanywhere)的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。1、J2SE:称为Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台(以前称为JDK开发平台)。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发JavaApplet程序。2、J2EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务器应用程序,j2EE平台包含了J2SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。3、J2ME:称为Java微型版或Java小型平台。J2ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其它无线设备等。1.1.4类类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。类的实现包括两部分:类声明和类体。基本格式为:class类名{类的内容}class是关键子,用来定义类。“class类名”是类的声明部分,类名必须是合法的Java标识符。两个大括号以及之间的内容是类体。编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类体的内容有两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。1.1.5方法一个类的类体由两部分组成:变量的定义和方法的定义。方法的定义包括两部分:方法声明和方法体。一般格式为:方法声明部分{方法体的内容}-23- 1.2Swing1.2.1Swing介绍Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。Swing组件中大部分组件是轻量组件,没有同位体。Swing组件的轻量组件在设计上和AWT完全不同。轻量组件把与显示组件有关的许多工作和处理组件事件的工作交给相应的UI代表来完成,这些UI代表是用Java语言编写的类,这些类被增加到Java的运行环境中,因此,组件的外观不依赖平台,不仅在不同平台上的外观是相同的,而且较重量组件而言有更高的性能。如果Java编程环境或运行环境低于1.2版本,就不能使用Swing组件或运行含有Swing组件的程序。1.2.2Swing的原理Swing组件类的设计原理是建立在称为模型-视图-控制器(Model-View-Controller)结构基础上,也称为MVC。MVC的设计思想并非源于Java,MVC是TrygveReenskaug教授于1978年最早开发的一个设计模板或基本结构,其目的是以会话形式提供方便的GUI支持。MVC设计模式首先出现在Smalltalk编程语言中,MVC是一种先进的组件设计模式,Java在MVC的基础上设计了Swing组件。MVC是一种通过3个不同部分构造一个组件的理想办法:1、模型(model)用于存储定义该组件的数据。2、视图(view)用模型中的数据生成该组件的可视化表示。3、控制器(controller)处理用户对该组件的交互操作,对于用户的操作做出响应。从面向对象的角度看,MVC结构可以使程序更具有对象化特性,也更容易维护。因为视图和控制器之间有依存关系,Swing组件的开发者们将MVC设计思想中的视图和控制器合并成一个独立整体,称为Swing组件的UI代表(UIdelegate),如图1所示。-23- 图1MVC结构示意图1.2.3Swing与AWT的关系Java的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是当前的图形视窗系统决定的。与此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作系统本身所带视窗工具包的原生资源来生成。SwingAPI的大部分是AWT的补充扩展而不是直接的代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。1.2.4创建图形界面步骤(1)导入Swing包(2)选择界面风格(3)设置顶层容器(4)设置按钮和标签(5)将组件放到容器上(6)为组件增加边框(7)处理事件(8)辅助技术支持-23- 1.3需求概述求职者在寻找工作之前,都会花费大量的时间用来建立简历,这样缩短了寻找工作的时间,降低了找工作的效率。简历自动生成程序,可以帮助求职者花费少量的时间,就能建立一份完整的简历,提高他们找工作的效率。1.4简历生成程序的功能要求(1)信息输入由求职者将信息输入到程序中,这是本程序操作的第一步,也是后续步骤的基础。本程序只有一个界面,可使求职者更直观、更方便的操作。(2)信息预览将输入的信息整合起来,显示在预览框内,使求职者查看输入到本程序中的信息。(3)信息保存将输入到本程序中的信息,以txt格式保存到计算机上。(4)重置信息清除已输入到本程序中的信息,使求职者可以从新输入信息。1.5运行环境运行服务器:JDK1.5版本或更高操作系统:windows系列,Linux系列或Unix系列硬件需求:VGA显示器或液晶显示器,内存最低为256MB,硬盘空间最少为20G,键盘及鼠标。2、环境搭建2.1安装JDK(1)打开“http//java.sun.com/”网页,根据本地计算机的操作系统,选择并下载适合此系统的JDK版本。(2)找到安装程序后,双击jdk-6-windows-i586.exe,运行安装程序进行安装。(3)等程序初始化完成后,选择接受许可证协议,继续安装。(4)选择要安装的组件,点击“下一步”-23- 按钮继续安装,一般选择默认组件直接进入下一步。(5)等待程序安装完成后,显示安装完成界面,至此JDK安装完成。2.2设置环境变量(1)在桌面右键点击“我的电脑”图标,在出现的菜单中选择“属性”选项,出现的界面如图2所示。图2系统属性(2)选择“高级”选项,如图3所示,并单击“环境变量”按钮,弹出”环境变量”对话框,如图3所示。-23- 图3“高级”界面图4“环境变量”对话框-23- (3)在“系统变量”对话框里找到变量名“Path”,并选出,再单击“编辑”按钮进入“编辑系统变量”对话框,如图5所示。图5“编辑系统变量”对话框(4)在所有的变量值前面输入“C:ProgramFilesJavajdk1.5.0_08bin:”,注意有分号,路径根据情况进行设置。(5)在“系统变量”对话框里点击“新建”按钮,弹出“新建系统变量”对话框,如图6所示。图6“新建系统变量”对话框(6)设置变量名为“classpath”,变量值为“.;C:ProgramFilesJavajdk1.5.0_08libdt.jar;C:ProgramFilesJavajdk1.5.0_08libtools.jar”,路径根据情况进行设置,如图7所示。图7填入新值配置完成后,需要测试是否配置正确。下面给出了详细的测试步骤,按照这个步骤操作可以很轻松地完成测试。(1)单击“开始”按钮,在弹出的开始菜单中再单击“运行”菜单项,将出“运行”对话框。在“运行”对话框里输入“cmd”,并单击“确定”按钮,如图8所示。-23- 图8“运行”对话框(2)在命令提示符窗口里输入“javac”和“java”,观察是否出现javac或java的用法提示,如图9所示。图9配置正确的环境变量信息-23- 2.3HelloWorld程序2.3.1编写源程序打开文本文件编辑器,如Windows的记事本,也可以使用更高级的编写工具。如Eclipse、JBuilder、NetBeans等,这些工具具有更加强大的功能,但不推荐初学者使用,不利于初学者打下良好的编程基础。首先,在记事本里添加如下代码。例1,//定义一个类名称为HelloWorldPublicclassHellowWorld{//类的主入口函数Publicstaticvoidmain(Stringargs[]){//System.out.println为打印语句,用来显示结果System.out.println(“欢迎使用Java来编写程序!”);}}在本程序中,首先定义了一个类,类的名字为HelloWorld。在这个类里有一个main方法,这是Java程序的入口,只要能执行的程序都有这个方法。System.out.println方法能执行打印操作,还能打印其它类型的数据。在编写后把这个文本文件保存为HelloWorld.Java,并注意大小写问题。2.3.2编译程序代码并运行编写完Java程序的源代码后就可以对该程序进行编译,Java程序源代码的编译有如下几个步骤。(1)单击“开始按钮,在菜单中选择“运行”菜单项,将出现“运行”对话框。在“运行”对话框里填写“cmd”,并单击“确定”按钮。(2)在命令提示符下进入源代码文件的存放目录。(3)输入命令“javacHelloWorld.java”,并按回车键,如图10所示。-23- 图10编译HelloWorld.java(1)编译成功后,在程序源代码的目录里会出现文件HelloWorld.class,这是Java编译的字节码文件,如图11所示。图11生成的HelloWorld.class(2)在命令行提示符下使用命令运行程序,如图12所示。-23- 图12程序HelloWorld的运行结果3、设计规划3.1程序说明本程序所面对的使用对象为求职者,且较为适合求职者中的大学应届毕业生使用。本程序只有一个操作和视图统一的界面,可使使用者直观的、清楚地知道他们在使用本程序时所要做的工作。本程序操作简单,使用者能快速地完成简历,使他们在准备简历的时间上大大缩短,增加他们的求职效率。本程序只有一个源文件,名称为A.java。源文件编译后,会产生14个扩展名为.class的文件。3.2总体设计说明本程序为了使使用者在使用时操作方便、直观、快捷,只设计了一个操作界面。在这个界面上共分为3个模块,信息输入模块、信息预览模块和信息操作模块,如图13所示。1.信息输入模块:输入求职者的信息。2.信息预览模块:显示所输入的信息。3.信息操作模块:分为3个功能按钮,预览、重置、保存。-23- (1)预览:将输入的信息显示在预览框中。(2)重置:将已输入的信息清除。(3)保存:将信息“另存为”。图13简历生成程序界面4、详细设计4.1界面设计-23- 本程序只设计了一个操作界面,它是用Swing组件进行编写的。Swing是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT所能提供的所有功能,并且用纯粹的Java代码对AWT功能进行了大幅度的扩充。Swing是基于AWT的Java程序,其运行速度比AWT慢,但是其功能要比AWT强大的多,而且在基于普通PC或者工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以我决定使用Swing编写本程序,以牺牲比AWT慢的可以忽略不计的速度来实现应用程序的功能。4.2信息输入模块信息输入模块的唯一功能就是对信息的输入,使用者通过这个模块将信息输入到简历生成程序中。这个模块由一些标签组件、文本框组件和单选框组件组成,如图14所示。-23- 图14信息输入界面由于本程序主要的使用对象是大学应届毕业生,所以在信息输入模块中所列出的项目都是一些基础信息项目,可以满足大部分的大学应届毕业生求职者的需要。在这个模块的设计中,主要的技术有标签框、文本框、单选框和多选框的建立和输入到程序上的信息的读取,在下面的代码将举例说明。-23- 例2,文本框,nameLabel=newJLabel("姓名:");//建立名为“姓名”的标签nameLabel.setBounds(30,10,50,25);//标签的位置和大小name=newJTextField();//建立文本框name.setBounds(80,10,120,20);//文本框的位置和大小name.setBorder(BorderFactory.createLineBorder(Color.PINK));name.addKeyListener(newKeyListener(){//创建文本框的事件publicvoidkeyPressed(KeyEvente){}//键盘按下时产生的事件publicvoidkeyReleased(KeyEvente){}//键盘松开时产生的事件publicvoidkeyTyped(KeyEvente){//捕获用户的敲击键盘的事件if(name.getText().length()>6){name.setText(name.getText().substring(0,6));//获取文本框内的内容}}});例3,单选框,mLabel=newJLabel("性别:");//建立名为“性别”的标签框mLabel.setBounds(210,10,50,25);//标签框的位置和大小bg=newButtonGroup();male=newJRadioButton("男");male.setSelected(true);female=newJRadioButton("女");bg.add(male);bg.add(female);male.setBounds(260,10,60,25);female.setBounds(320,10,60,25);//“性别”单选框-23- 例4,复选框,fLabel=newJLabel("爱好:");//建立名为“爱好”的标签框fLabel.setBounds(30,700,50,25);//标签框的位置和大小aihao1=newJCheckBox("音乐");aihao2=newJCheckBox("足球");aihao3=newJCheckBox("旅行");aihao4=newJCheckBox("摄影");//建立复选项aihao1.setBounds(80,700,60,25);aihao2.setBounds(140,700,60,25);aihao3.setBounds(200,700,65,25);aihao4.setBounds(265,700,60,25);//复选项的位置和大小4.3信息预览模块信息预览模块只由一个标签框和一个多行文本框组成,其中多行文本框是它的主要组件。它的功能是显示从信息输入模块中提取出来的信息,如图15所示。-23- 图15信息预览界面4.4信息操作模块信息操作模块由3个按钮组成,分别是预览、重置和保存。它们完成了整个程序对信息的操作。如图16所示。-23- 图16信息操作按钮例5,预览按钮代码,JButtonsubmit=newJButton("预览");//创建“预览”按钮submit.setBounds(475,730,60,25);//“预览”按钮的位置和大小submit.addMouseListener(newMouseListener(){//给按钮添加事件publicvoidmouseClicked(MouseEvente){StringBuffersb=newStringBuffer();sb.append(nameLabel.getText()).append(name.getText());//将提取的信息添加到预览文本框中例6,重置按钮代码,JButtoncancel=newJButton("重置");//创建“重置”按钮cancel.setBounds(575,730,60,25);//“重置”按钮的位置和大小cancel.addMouseListener(newMouseListener(){//给按钮添加事件publicvoidmouseClicked(MouseEvente){name.setText("");speciality.clearSelection();if(aihao1.isSelected()){aihao1.setSelected(false);}publicvoidmouseEntered(MouseEvente){}}//文本框和多选框内容制空例7,保存按钮代码,classsavelimplementsActionListener{publicvoidactionPerformed(ActionEvente){JFileChooserjf=newJFileChooser();jf.showSaveDialog(A.this);}}//保存文件的监听器-23- JButtonsave=newJButton("保存");//创建“保存”按钮save.setBounds(675,730,60,25);//“保存”按钮的位置和大小save.addActionListener(newsavel());//给按钮添加事件点击保存按钮,会弹出一个保存文件的对话框,在对话框中可以选择文件将要保存的路径地址和给文件命名,如图17所示,图17保存文件对话框-23- 5、结论计算机的出现,使科技文明的发展跨入到了一个新的时代,计算机软件的应用,使人们的工作效率成倍提高。人们从复杂、繁重的工作中解脱出来,拥有了更加舒适、快捷、方便的工作方式和更多的自由时间。本论文描述的简历自动生成程序,就是本着快捷、方便的理念,为求职者提供了制作简历的一个新的、快捷的、方便的制作方式,使求职者制作简历的时间大大缩短,增加了寻找工作的时间,提高了找工作的效率。通过编写这个程序,我学会了文本框内容的提取、显示和保存对话框的使用等技术,使我学习的Java语言得到了融会贯通,提高了我使用Swing编写桌面应用程序的能力。同时作为Java语言的初学者,我还有很多技术不会,这个程序的功能也不是十分的完善,如图片的读取和保存功能、添加新的信息项目的功能、具有打印功能的按钮等。这些,我都将在今后继续学习,提高Java语言的编程能力,不断地完善简历自动生成程序,为求职者们提供更加方便的使用。-23- 6、致谢本文和设计是在XXX老师精心指导和大力支持下完成的。XXX老师以其严谨的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响,她熟练的编程技术、开阔的视野和敏锐的思维给了我深深的启迪。在此次毕业设计过程中,我学到了许多Java语言编程技术,编程能力得到了显著提高。最后,我向XXX老师对于我的帮助,表示衷心的感谢。-23- 7、参考文献(1)耿祥义张跃平Java2实用教程(第三版),清华大学出版社,2006.3第3版。(2)庞永庆庞丽娟21天学通Java,电子工业出版社,2009.1(3)百度知道zhidao.baidu.com-23-'