Java程序设计毕业论文.doc_第1页
Java程序设计毕业论文.doc_第2页
Java程序设计毕业论文.doc_第3页
Java程序设计毕业论文.doc_第4页
Java程序设计毕业论文.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXX学院XXXX毕业论文Java程序设计专业 计算机网路技术 学号XXXX 姓名 XXX 指导教师姓名 XXX 职称 单位 XXX 完成毕业设计(论文)的实践基地 XXX 完成时间自 2008 年 12 月至 2009 年 4 月Java程序设计【摘要】 简历自动生成程序是一个使求职者方便制作简历的程序。它可以使求职者制作简历的时间大大缩短,使求职者在制作简历这个环节变得方便、快捷,增加了求职者寻找工作的时间,提高了找工作的效率。本次设计使用Java语言进行编写。这是一种面向对象的语言,通过理解一些重要的概念就能编写出各种功能的代码。Java语言具有简单、面向对象、分布式、安全、可移植性、多态等特点。本次设计的程序,最后将通过Java语言中的Swing工具,将所做内容通过界面的方式进行呈现。【关键字】Java Swing 面向对象 JDk 简历目录引言- 1 -1、开发环境概述- 1 -1.1 开发平台及开发工具概述- 1 -1.1.1 Java介绍- 1 -1.1.2 Java的特点- 2 -1.1.3 Java平台介绍- 3 -1.1.4类- 3 -1.1.5方法- 4 -1.2 Swing- 4 -1.2.1 Swing介绍- 4 -1.2.2 Swing的原理- 4 -1.2.3 Swing与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 -引言随着计算机技术的飞跃发展,计算机软件的使用已经融入到社会的各行各业中,使以前复杂、繁重的工作变得简单、轻松、快捷。Java是一门很优秀的编程语言,它已经成为网路时代最重要的编程语言之一。目前,随着人口的不断增长,求职者的数量也在不断的增加。而求职者在找工作前,最重要的准备工作之一就是准备简历。在简历生成程序出现之前,求职者往往要花很多时间去设计简历,大大缩短了寻找工作的时间。计算机软件有着简单、快捷的特点,它可以使人们的工作效率大大的提高,因此我利用Java语言编写了一个简历生成程序来帮助求职者提高他们寻找工作的效率。1、开发环境概述1.1 开发平台及开发工具概述开发平台:J2SE开发工具:Java Version 6 Update 11、Swing1.1.1 Java介绍 Java是1995年6月有Sun公司引进到这个世界的革命性的编程语言,它被美国的著名杂志PC Magazine评为1995年十大优秀科技产品。之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件进行一番改动,耗时费力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,Java编写的软件就能在其上运行。Java的出现是源于对独立于平台语言的重要,希望这种编程语言能编写出嵌入各种家用电器等设备的芯片上、且易于维护的程序。但是,人们发现当时的编程语言,比如C、C+等都有一个共同的缺点,那就是针对CPU芯片进行编译。这样,一旦电气设备更换了芯片就不能保证程序正确运行,就可能需要修改程序并针对新的芯片重新进行编译。1990年Sun公司成立了有James Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的编程语言,该编程语言能生成正确运行与各种操作系统、各种CPU芯片上的代码。他们的精心专研和努力促成了Java的诞生。Java的快速发展得利于Internet和Web的出现,Internet上各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来。1.1.2 Java的特点1、Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括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的运行环境是用ANSI C实现的。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语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。1.1.3 Java平台介绍 Sun公司要实现“一次写成,处处运行”(write once,run anywhere)的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。1、 J2SE:称为Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台(以前称为JDK开发平台)。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet程序。2、 J2EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务器应用程序,j2EE平台包含了J2SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。3、 J2ME:称为Java微型版或Java小型平台。J2ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其它无线设备等。1.1.4类类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。类的实现包括两部分:类声明和类体。基本格式为:class 类名 类的内容class是关键子,用来定义类。“class 类名”是类的声明部分,类名必须是合法的Java标识符。两个大括号以及之间的内容是类体。编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类体的内容有两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。1.1.5方法一个类的类体由两部分组成:变量的定义和方法的定义。方法的定义包括两部分:方法声明和方法体。一般格式为:方法声明部分 方法体的内容1.2 Swing1.2.1 Swing介绍Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。Swing组件中大部分组件是轻量组件,没有同位体。Swing组件的轻量组件在设计上和AWT完全不同。轻量组件把与显示组件有关的许多工作和处理组件事件的工作交给相应的UI代表来完成,这些UI代表是用Java语言编写的类,这些类被增加到Java的运行环境中,因此,组件的外观不依赖平台,不仅在不同平台上的外观是相同的,而且较重量组件而言有更高的性能。如果Java编程环境或运行环境低于1.2版本,就不能使用Swing组件或运行含有Swing组件的程序。1.2.2 Swing的原理Swing组件类的设计原理是建立在称为模型-视图-控制器(Model-View-Controller)结构基础上,也称为MVC。MVC的设计思想并非源于Java,MVC是Trygve Reenskaug教授于1978年最早开发的一个设计模板或基本结构,其目的是以会话形式提供方便的GUI支持。MVC设计模式首先出现在Smalltalk编程语言中,MVC是一种先进的组件设计模式,Java在MVC的基础上设计了Swing组件。MVC是一种通过3个不同部分构造一个组件的理想办法:1、 模型(model)用于存储定义该组件的数据。2、 视图(view)用模型中的数据生成该组件的可视化表示。3、 控制器(controller)处理用户对该组件的交互操作,对于用户的操作做出响应。从面向对象的角度看,MVC结构可以使程序更具有对象化特性,也更容易维护。因为视图和控制器之间有依存关系,Swing组件的开发者们将MVC设计思想中的视图和控制器合并成一个独立整体,称为Swing组件的UI代表(UI delegate),如图1所示。图1 MVC结构示意图1.2.3 Swing与AWT的关系 Java的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是当前的图形视窗系统决定的。与此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作系统本身所带视窗工具包的原生资源来生成。Swing API的大部分是AWT的补充扩展而不是直接的代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。1.2.4 创建图形界面步骤(1)导入Swing包(2)选择界面风格(3)设置顶层容器(4)设置按钮和标签(5)将组件放到容器上(6)为组件增加边框(7)处理事件(8)辅助技术支持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//”网页,根据本地计算机的操作系统,选择并下载适合此系统的JDK版本。(2)找到安装程序后,双击jdk-6-windows-i586.exe,运行安装程序进行安装。(3)等程序初始化完成后,选择接受许可证协议,继续安装。(4)选择要安装的组件,点击“下一步”按钮继续安装,一般选择默认组件直接进入下一步。(5)等待程序安装完成后,显示安装完成界面,至此JDK安装完成。2.2设置环境变量(1)在桌面右键点击“我的电脑”图标,在出现的菜单中选择“属性”选项,出现的界面如图2所示。图2 系统属性(2)选择“高级”选项,如图3所示,并单击“环境变量”按钮,弹出”环境变量”对话框,如图3所示。图3 “高级”界面图4 “环境变量”对话框(3)在“系统变量”对话框里找到变量名“Path”,并选出,再单击“编辑”按钮进入“编辑系统变量”对话框,如图5所示。图5 “编辑系统变量”对话框(4)在所有的变量值前面输入“C:Program FilesJavajdk1.5.0_08bin:”,注意有分号,路径根据情况进行设置。(5)在“系统变量”对话框里点击“新建”按钮,弹出“新建系统变量”对话框,如图6所示。图6 “新建系统变量”对话框(6)设置变量名为“classpath”,变量值为“.;C:Program FilesJavajdk1.5.0_08libdt.jar;C:Program FilesJavajdk1.5.0_08libtools.jar”,路径根据情况进行设置,如图7所示。图7 填入新值配置完成后,需要测试是否配置正确。下面给出了详细的测试步骤,按照这个步骤操作可以很轻松地完成测试。(1)单击“开始”按钮,在弹出的开始菜单中再单击“运行”菜单项,将出“运行”对话框。在“运行”对话框里输入“cmd”,并单击“确定”按钮,如图8所示。图8 “运行”对话框(2)在命令提示符窗口里输入“javac”和“java”,观察是否出现javac或java的用法提示,如图9所示。图9 配置正确的环境变量信息2.3HelloWorld程序2.3.1编写源程序打开文本文件编辑器,如Windows的记事本,也可以使用更高级的编写工具。如Eclipse、JBuilder、NetBeans等,这些工具具有更加强大的功能,但不推荐初学者使用,不利于初学者打下良好的编程基础。首先,在记事本里添加如下代码。例1, /定义一个类名称为HelloWorld Public class HellowWorld /类的主入口函数 Public static void main (String args) /System.out.println为打印语句,用来显示结果System.out.println(“ 欢迎使用Java来编写程序!”); 在本程序中,首先定义了一个类,类的名字为HelloWorld。在这个类里有一个main方法,这是Java程序的入口,只要能执行的程序都有这个方法。System.out.println方法能执行打印操作,还能打印其它类型的数据。在编写后把这个文本文件保存为HelloWorld.Java,并注意大小写问题。2.3.2编译程序代码并运行编写完Java程序的源代码后就可以对该程序进行编译,Java程序源代码的编译有如下几个步骤。(1) 单击“开始按钮,在菜单中选择“运行”菜单项,将出现“运行”对话框。在“运行”对话框里填写“cmd”,并单击“确定”按钮。(2) 在命令提示符下进入源代码文件的存放目录。(3) 输入命令“javac HelloWorld.java”,并按回车键,如图10所示。图10 编译HelloWorld.java(4) 编译成功后,在程序源代码的目录里会出现文件HelloWorld.class,这是Java编译的字节码文件,如图11所示。图11 生成的HelloWorld.class(5) 在命令行提示符下使用命令运行程序,如图12所示。图12 程序HelloWorld的运行结果3、设计规划3.1程序说明本程序所面对的使用对象为求职者,且较为适合求职者中的大学应届毕业生使用。本程序只有一个操作和视图统一的界面,可使使用者直观的、清楚地知道他们在使用本程序时所要做的工作。本程序操作简单,使用者能快速地完成简历,使他们在准备简历的时间上大大缩短,增加他们的求职效率。 本程序只有一个源文件,名称为A.java。源文件编译后,会产生14个扩展名为.class的文件。3.2总体设计说明 本程序为了使使用者在使用时操作方便、直观、快捷,只设计了一个操作界面。在这个界面上共分为3个模块,信息输入模块、信息预览模块和信息操作模块,如图13所示。1.信息输入模块:输入求职者的信息。2.信息预览模块:显示所输入的信息。3.信息操作模块:分为3个功能按钮,预览、重置、保存。 (1)预览:将输入的信息显示在预览框中。 (2)重置:将已输入的信息清除。 (3)保存:将信息“另存为”。 图13 简历生成程序界面4、详细设计4.1界面设计本程序只设计了一个操作界面,它是用Swing组件进行编写的。Swing是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT所能提供的所有功能,并且用纯粹的Java代码对AWT功能进行了大幅度的扩充。Swing是基于AWT的Java程序,其运行速度比AWT慢,但是其功能要比AWT强大的多,而且在基于普通PC或者工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以我决定使用Swing编写本程序,以牺牲比AWT慢的可以忽略不计的速度来实现应用程序的功能。4.2信息输入模块信息输入模块的唯一功能就是对信息的输入,使用者通过这个模块将信息输入到简历生成程序中。这个模块由一些标签组件、文本框组件和单选框组件组成,如图14所示。图14 信息输入界面由于本程序主要的使用对象是大学应届毕业生,所以在信息输入模块中所列出的项目都是一些基础信息项目,可以满足大部分的大学应届毕业生求职者的需要。在这个模块的设计中,主要的技术有标签框、文本框、单选框和多选框的建立和输入到程序上的信息的读取,在下面的代码将举例说明。例2,文本框, nameLabel = new JLabel(姓名 :);/建立名为“姓名”的标签 nameLabel.setBounds(30, 10, 50, 25);/标签的位置和大小 name = new JTextField();/建立文本框 name.setBounds(80, 10, 120, 20);/文本框的位置和大小 name.setBorder(BorderFactory.createLineBorder(Color.PINK); name.addKeyListener(new KeyListener() /创建文本框的事件 public void keyPressed(KeyEvent e) /键盘按下时产生的事件 public void keyReleased(KeyEvent e) /键盘松开时产生的事件 public void keyTyped(KeyEvent e) /捕获用户的敲击键盘的事件 if (name.getText().length() 6) name.setText(name.getText().substring(0, 6);/获取文本框内的内容 );例3,单选框, mLabel = new JLabel(性别 :);/建立名为“性别”的标签框 mLabel.setBounds(210, 10, 50, 25);/标签框的位置和大小 bg = new ButtonGroup(); male = new JRadioButton(男); male.setSelected(true); female = new JRadioButton(女); bg.add(male); bg.add(female); male.setBounds(260, 10, 60, 25); female.setBounds(320, 10, 60, 25);/“性别”单选框例4,复选框, fLabel = new JLabel(爱好 :);/建立名为“爱好”的标签框 fLabel.setBounds(30, 700, 50, 25);/标签框的位置和大小 aihao1 = new JCheckBox(音乐); aihao2 = new JCheckBox(足球); aihao3 = new JCheckBox(旅行); aihao4 = new JCheckBox(摄影);/建立复选项 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所示。图15 信息预览界面4.4信息操作模块信息操作模块由3个按钮组成,分别是预览、重置和保存。它们完成了整个程序对信息的操作。如图16所示。图16 信息操作按钮例5,预览按钮代码, JButton submit = new JButton(预览);/创建“预览”按钮 submit.setBounds(475, 730, 60, 25);/“预览”按钮的位置和大小 submit.addMouseListener(new MouseListener() /给按钮添加事件 public void mouseClicked(MouseEvent e) StringBuffer sb = new StringBuffer(); sb.append(nameLabel.getText().append(name.getText();/将提取的信息添加到预览文本框中例6,重置按钮代码, JButton cancel = new JButton(重置);/创建“重置”按钮 cancel.setBounds(575, 730, 60, 25);/“重置”按钮的位置和大小 cancel.addMouseListener(new MouseListener() /给按钮添加事件 public void mouseClicked(MouseEvent e) name.setText();speciality.clearSelection(); if (aihao1.isSelected()

温馨提示

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

评论

0/150

提交评论