JAVA课程设计--雇员信息管理系统
- 格式:doc
- 大小:313.00 KB
- 文档页数:29
《员工信息管理系统》详细设计说明书.1 《员工信息管理系统详细设计说明书》一、引言1.1编写目的根据需求规格说明书、概要设计说明书,在仔细考虑讨论之后,我们对员工信息管理系统软件功能的划分、数据结构、软件总体结构的实现有了进一步的想法。
本说明书的预期读者是与员工信息管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
1.2背景利用先进的管理手段,提高人事信息的管理水平,是每一现代公司所面临的重要课题。
为了解决这一重要课题,就必须有一套科学,高效,严密,实用的人事信息管理系统。
现代公司的人事信息管理都是在计算机上实现的,采用现代计算机管理系统来进行管理,提供规范,统一的服务,它在管理系统中的应用不仅可以简化,规范各机构的日常操作,而且可以使企业人事信息管理更加方便,简单,快捷,清晰,从而减轻工作人员的劳动强度,减少企业的财政消耗。
1.3定义SQL Server:所用的数据库管理系统VS 2010:所用的开发软件二、程序(一)设计说明2.1程序描述主模块2.2功能建立与数据库连接获取系统设置能够跳转至子模块:登陆、注册等模块。
2.3输入、输出项用户鼠标点击登陆、注册按钮跳转至相应模块界面2.5流程逻辑选择项登陆系统注册系统查询系统管理系统2.6界面设计2.7功能实现方法'跳转登陆页面Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs) HandleslbtnLogin.ClickIf Request.Cookies("UserName") Is Nothing ThenResponse.Redirect("Login.aspx")ElsePage.ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('您已成功登陆);")End IfEnd Sub'跳转注册页面Protected Sub lbtnRegister_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lbtnRegister.ClickResponse.Redirect("Register.aspx")End Sub三、程序(二)设计说明3.1程序描述登陆模块3.2功能实现管理员账号登陆,以便继续后面操作3.3输人项输入:管理员账号、密码。
源代码package lesson2;import java。
sql。
*;public class employee{public String num;public String name;public String sex;public String age;public String edu;public String sla;public String add;public String tel;public void init(String x1,String x2,String x3,String x4,String x5,String x6,String x7,String x8){num=x1;name=x2;sex=x3;age=x4;edu=x5;sla=x6;add=x7;tel=x8;}public void load(String f){try{Class。
forName(”com.microsoft.sqlserver.jdbc。
SQLServerDriver”);String url=”jdbc:sqlserver://localhost:1433;DatabaseName=employee";String userName=”sa”;String password="xhw";Connection conn=DriverManager.getConnection (url,userName,password);if(conn!=null)System.out。
println(”已成功地与SQL Server 2005数据库建立连接!");Statement stmt=conn.createStatement();stmt.executeUpdate(f);stmt。
close();}catch(Exception e){e。
课程设计任务书(Java)题目:公司人员管理系统难度:易说明:设计一款公司人员管理系统,以便对公司的组织结构、各部门人员信息进行查询管理。
功能要求:1.公司部门和组织结构。
包括部门名称、编号、下级部门信息等的录入和维护2.岗位:定义若干岗位名称和职责,以及岗位与各部门的对应关系3.员工信息的录入、修改和删除。
包括编号、姓名、性别、出生日期、技能、学历、所属部门、所属岗位等。
4.简单查询功能。
5.扩展功能:实现照片管理设计要求:1.使用B/S结构实现,采用JSP技术2.使用JDBC访问数据库3.良好的Java编码风格和注释,注重代码效率4.完成课程设计说明书设计步骤及时间安排:第1天任务下达,需求分析第2天关键技术攻关:数据库表结构设计,使用JDBC编写DAO层第3天关键技术攻关:jsp数据显示和操作第4天编码实战第5天编码实战第6天编码实战第7天编码实战,代码审查第8天编码实战第9天编码实战,测试第10天Bug修复,提交评审评分标准:1.功能完成情况(40分)。
包括:所要求功能的完整性;界面的整洁美观性。
2.代码审查情况(30分)。
包括:代码风格的一致性;恰当的注释行;代码运行效率、安全性、可维护性等。
3.难点和创新点(20分)。
包括:完成扩展功能,或者自行补充和完善功能要求中没有提到的功能;自行研究一些课堂上没有涉及的技术并恰当运用在项目中;一些良好的算法设计和实现等。
4.考勤和纪律(10分)。
包括:按时上下课,不在课程设计时间从事与本项目无关的活动等。
5.要求学生独立完成本项目的分析、设计、实现、测试、提交及文档全过程。
如果发现抄袭或拷贝行为,则双方均记为不及格。
基于JAVA的人事管理系统设计与实现论文人力资源管理,是企业管理中至关重要的环节之一。
对于企业而言,人员的管理和开发是企业能否长期健康地发展的关键,一个高效的人事管理系统对于企业的管理和发展来说也非常重要。
针对这一问题,本文将就基于JAVA的人事管理系统设计与实现作一论文分析。
1、选题背景人力资源是企业经营中的重要生产要素,人力资源的管理和开发是企业能否长期健康地发展的关键。
要保证企业最大限度地发挥人力资源的作用,关键是建立一个高效的人事管理系统。
目前,人力资源管理系统大多数采用网络化、信息化管理方式,这样可以让企业的人事管理工作更加高效、准确和规范。
而JAVA作为当今较为流行的编程语言之一,拥有在开发对信息管理系统有很多优势。
因此,此文的研究目标是探究基于JAVA的人事管理系统的设计及其实现方法。
2、研究方法2.1 研究方法选择本文使用文献调研法开展研究,主要是收集与人事管理系统相关的纸质和电子文献,对于人事管理系统的设计与实现方法进行分析研究,并结合自身实验实践,从多个角度出发,提出JAVA语言在人事管理系统设计中的优势和应用价值,从而得出基于JAVA的人事管理系统的设计及其实现方法。
2.2 资料收集本研究主要通过文献调查和实验实践相结合的方法进行。
通过对于国内外相关文献的查阅,了解了常见的人事管理系统的主要功能、优缺点,并对JAVA语言进行了深入了解,同时掌握了线程、文件传输、数据库连接等技术。
3、研究内容3.1 系统需求分析在进行人事管理系统设计前,首先需要进行完整的需求分析。
人事管理系统主要包括基础数据的管理、人事档案的管理、薪资和绩效管理、社会保险和福利管理、劳动合同和劳动法律法规等。
同时,在进行系统设计时要考虑其可维护性、可扩展性和易用性等。
3.2 系统设计3.2.1 JAVA语言优势JAVA作为一种跨平台的编程语言,可以在Windows、Linux、Unix等多种操作系统上运行,同时也具有高度的可移植性。
企业员工信息管理系统摘要:在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
考虑到当前大量企业的企业员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏.因此根据部分企业提供的需求,设计此企业企业员工信息管理系统,以帮助企业达到企业员工管理办公自动化、节约管理成本、提高企业工作效率的目的。
根据实际需求,“企业员工信息管理系统”项目采用模块化的设计思想,在Windows XP操作系统环境下,以SQL 2005数据库作为开发平台。
使用jsp编写程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2005数据库形成数据,进行数据存储。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了企业员工信息管理的工作效率和企业的信息化的水平.关键字:SQL 2005 数据库;jsp;信息管理1.引言1.课题背景现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的企业员工管理的形式和内涵都在发生着根本性的变化。
企业员工信息管理的内容也己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
在现代化的进程中,引入现代管理的思想,建立一套可面向企业单位的员工信息管理系统,也是十分必要的。
本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业员工管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及企业员工管理系统在企业管理信息化中所起到的重要作用。
2。
国内外研究现状目前,在国内外各大企业单位中,企业员工信息管理系统的使用是非常广泛的.同时,有很多的软件开发商也开发了许多基于各种行业的企业员工信息管理学系统。
学号毕业设计(论文)企业员工信息管理系统设计教学系:指导教师:专业班级:学生姓名:二零一零年五月注:1. 开题报告应根据教师下发的毕业设计(论文)任务书,在教师的指导下由学生独立撰写,在毕业设计开始后三周内完成;2.设计的目的及意义至少800字,基本内容和技术方案至少400字;3.指导教师意见应从选题的理论或实际价值出发,阐述学生利用的知识、原理、建立的模型正确与否、学生的论证充分否、学生能否完成课题,达到预期的目标。
郑重声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
本人签名:日期:目录摘要 (I)ABSTRACT.............................................................................................................................................................. I I 1 绪论 (1)1.1 研究背景 (1)1.2 本课题研究现状 (1)2 企业信息管理系统分析 (3)2.1需求分析 (3)2.2 技术可行性 (4)2.3 环境可行性分析 (5)2.4 系统结构可行性分析 (6)3 企业信息管理系统设计 (9)3.1 数据库设计 (9)3.2 系统功能模块详细设计 (13)4 系统实现 (18)4.1 用户操作文件总体架构 (18)4.2 技术难点 (28)5 系统测试 (29)5.1 界面测试 (29)5.2 功能测试 (29)5.3 需求测试 (30)5.4 性能测试 (30)5.5 企业员工信息管理系统的测试 (30)总结 (31)参考文献 (32)致谢 (33)摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
息科学与工程学院毕业论文工作记录题目:基于JA V A的员工管理系统设计与实现学生姓名:学号:学制:班级:专业:计算机科学与技术年级:指导教师:成绩:完成时间:毕业设计(论文)选题申请表说明一、开题报告前的准备毕业设计(论文)题目确定后,学生应尽快征求导师意见,讨论题意与整个毕业设计(论文)(或设计)的工作计划,然后根据课题要求查阅、收集有关资料并编写研究提纲,主要由以下几个部分构成:1.研究(或设计)的目的与意义。
应说明此项研究(或设计)在生产实践上或对某些技术进行改革带来的经济与社会效益。
有的课题过去曾进行过,但缺乏研究,现在可以在理论上做些探讨,说明其对科学发展的意义。
2.国内外同类研究(或同类设计)的概况综述。
在广泛查阅有关文献后,对该类课题研究(或设计)已取得的成就与尚存在的问题进行简要综述,只对本人所承担的课题或设计部分的已有成果与存在问题有条理地进行阐述,并提出自己对一些问题的看法。
引用内容要有标注。
3.课题研究(或设计)的内容。
要具体写出将在哪些方面开展研究,要重点突出。
研究的主要内容应是物所能及、力所能及、能按时完成的,并要考虑与其它同学的互助、合作。
4.研究(或设计)方法。
科学的研究方法或切合实际的具有新意的设计方法,是获得高质量研究成果或高水平设计成就的关键。
因此,在开始实践前,学生必须熟悉研究(或设计)方法,以避免蛮干造成返工,或得不到成果,甚至于写不出毕业设计(论文)或完不成设计任务。
5.实施计划。
要在研究提纲中按研究(或设计)内容落实具体时间与地点,有计划地进行工作。
二、开题报告1.开题报告可在导师所在教研室或系内举行,须适当请有关不少于3位老师参加,导师及所有同导师的同学必须参加。
2.本表(页面:A4)在开题报告通过论证后填写,一式三份,本人、导师、所在系(要原件)各一份。
三、注意事项1.开题报告的撰写完成,意味着毕业设计(论文)工作已经开始,学生已对整个毕业设计(论文)工作有了周密的思考,是完成毕业设计(论文)关键的环节。
基于javaweb的人才管理系统开题报告人才管理是企业发展的关键,具有重要的战略意义。
随着信息技术的发展,人才管理系统成为企业进行人力资源管理的重要工具。
本文将基于JavaWeb技术,设计并实现一套高效、可靠、易用的人才管理系统。
本文将从需求分析、系统设计、系统实现等方面进行详细阐述。
一、引言随着经济全球化和信息化时代的到来,企业竞争日趋激烈。
在这个竞争激烈的环境中,拥有优秀的人才成为企业发展和竞争力提升的关键因素之一。
因此,如何高效地进行人才招聘和管理成为了每个企业都面临的重要问题。
二、需求分析在需求分析阶段,我们将详细了解用户对于人才管理系统所提出的各种需求,并进行整理和归纳。
通过与用户沟通交流,我们了解到以下几个主要需求:1. 信息化招聘流程:用户希望能够通过系统实现在线发布职位信息,并能够方便地筛选和筛选候选人。
2. 管理候选人信息:用户希望能够方便地管理候选人的简历、面试记录、录用情况等信息。
3. 统计分析功能:用户需要系统能够提供人才招聘的统计分析功能,以便更好地了解招聘情况和人才储备情况。
4. 安全和权限管理:用户希望系统能够提供安全的权限管理功能,以保护招聘信息的安全。
三、系统设计在系统设计阶段,我们将根据需求分析结果进行系统架构设计、数据库设计和界面设计等工作。
1. 系统架构设计:我们将采用B/S架构,即浏览器/服务器架构。
用户通过浏览器访问系统,并与服务器进行交互。
2. 数据库设计:我们将采用关系型数据库来存储用户信息、候选人信息等。
通过合理的表结构设计和索引优化,提高数据查询效率。
3. 界面设计:我们将注重界面的友好性和易用性。
通过合理布局和简洁明了的操作流程,提高用户体验。
四、系统实现在系统实现阶段,我们将使用JavaWeb技术来开发人才管理系统,并保证其高效性、可靠性和易用性。
1. 前端开发:使用HTML、CSS和JavaScript等技术来实现前端页面,并保证页面的美观和交互性。
java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。
具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。
具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。
三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。
四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。
五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。
员工信息管理系统设计与实现(数据库)一、引言1. 背景随着企业规模的扩大和发展,对员工信息的管理变得越来越重要。
传统的手工管理方式已经无法满足现代企业的信息化需求,因此设计一个高效的员工信息管理系统对于企业的管理至关重要。
2. 目的本文将介绍一种基于数据库技术的员工信息管理系统的设计与实现方法,旨在提高企业对员工信息的管理效率和准确性,减少人力成本,同时提高信息安全性。
二、系统设计1. 数据库设计员工信息管理系统采用关系数据库设计,包括以下几张表:员工信息表、部门信息表、职位信息表。
员工信息表中包含员工ID、姓名、性别、年龄、入职时间等字段;部门信息表包含部门ID、部门名称等字段;职位信息表包含职位ID、职位名称等字段。
通过这三张表的设计,实现员工信息与部门、职位的关联。
2. 功能设计员工信息管理系统的主要功能包括员工信息的录入、修改、查询和删除,部门信息的管理和职位信息的管理。
管理员可以通过系统实现对员工信息的全面管理,包括个人资料的维护、考勤记录的查看等功能。
三、系统实现1. 前端设计员工信息管理系统的前端采用Web页面设计,通过HTML、CSS、JavaScript等技术实现用户友好的交互界面。
页面包含员工信息录入表单、查询界面、部门管理界面和职位管理界面等。
2. 后端设计系统的后端采用Java语言开发,使用Spring框架实现业务逻辑和数据访问层。
通过MyBatis等持久化框架与数据库进行交互,实现数据的增删改查操作。
3. 数据库实现数据库采用MySQL进行存储,通过建立员工信息表、部门信息表、职位信息表等实现对员工信息的持久化存储。
同时建立外键关联等约束确保数据的一致性和完整性。
四、系统优化1. 性能优化通过对数据库的索引优化、SQL语句的优化等手段提高系统的响应速度和性能,确保系统可以快速处理大量的员工信息。
2. 安全优化采用权限控制、加密传输等方式加强系统的安全性,防止未授权用户的访问和数据泄露,确保员工信息的保密性。
课程设计任务书目录1 设计目的..................................................................................................... 错误!未定义书签。
2 设计问题 (1)3 概要设计 (1)4 详细设计 (1)4.1 定义员工类 (1)4.2 主程序 (3)4.3 实现员工信息的录入 (6)4.4 实现员工信息的修改 (11)4.5 实现员工信息的查询 (18)4.6 实现员工信息的删除 (22)5 设计总结 (26)6 参考文献 (27)7 致谢 (27)一、系统描述实现功能:能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。
解决的问题:本系统实现了员工、部门、职位等信息的管理、查询、增加及删除,员工签到信息的管理等功能。
本系统是企业对自己公司内部员工管理的网站,主要实现如下目标:管理员的管理功能。
对员工信息的查询、更改、删除、增加等功能。
对部门信息的查询、更改、删除、增加等功能。
对职位信息的查询、更改、删除、增加等功能。
对员工签到信息的管理等功能。
二、设计目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。
使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
三、设计问题设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能(2)使用用户界面操作(3)使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。
通过文件类型知识的应用,实现对员工信息的管理。
四、概要设计面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。
功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。
功能模块划分:系统功能模块图展示了该系统的模块划分,是系统总体功能的初步分析概括。
管理员登录后,可以在主控界面查看统计分析信息,使用帮助信息,通过查看使用帮助信息可以了解系统操作的注意事项以及一些具体操作的使用说明,熟悉系统的操作规范后,管理员可以对人事管理,考勤管理,招聘管理,薪酬管理,培训发展管理,系统管理等模块进行相应的操作,从而实现对各个模块的管理。
模块流程图:类的划分及相互关系:预期成果:所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。
尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。
五、详细设计1、定义员工类:public class Employee implements java.io.Serializable{String number,name,discipling,grade,borth,sex;public Employee(){}public void setNumber(String number){this.number=number;}public String getNumber(){return number;}public void setName(String name){=name;}public String getName(){return name;}public void setDiscipling(String discipling) {this.discipling=discipling;}public String getDisciping(){return discipling;}public void setGrade(String grade){this.grade=grade;}public String getGrade(){return grade;}public void setBorth(String borth){this.borth=borth;}public String getBorth(){return borth;}public void setSex(String sex){this.sex=sex;}public String getSex(){return sex;}}2、主程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class EmployeeManager extends JFrame implements ActionListener {EmployeeSituation 基本信息录入=null;ModifySituation 基本信息修改=null;Inquest 基本信息查询=null;Delete 基本信息删除=null;JMenuBar bar;JMenu fileMenu;JMenuItem 录入,修改,查询,删除;Container con=null;Hashtable 基本信息=null;File file=null;CardLayout card=null;JLabel label=null;JPanel pCenter;public EmployeeManager(){录入=new JMenuItem("录入员工基本信息");修改=new JMenuItem("修改员工基本信息");查询=new JMenuItem("查询员工基本信息");删除=new JMenuItem("删除员工基本信息");bar=new JMenuBar();fileMenu=new JMenu("菜单选项");fileMenu.add(录入);fileMenu.add(修改);fileMenu.add(查询);fileMenu.add(删除);bar.add(fileMenu);setJMenuBar(bar);label=new JLabel("欢迎进入员工信息管理系统",JLabel.CENTER);label.setFont(new Font("SansSerif",Font.BOLD+Font.ITALIC,25));label.setForeground(Color.red);基本信息=new Hashtable();录入.addActionListener(this);修改.addActionListener(this);查询.addActionListener(this);删除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();pCenter.setLayout(card);pCenter.setBackground(Color.yellow);file=new File("基本信息.txt");if(!file.exists()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut.close();out.close();}catch(IOException e){}}基本信息录入=new EmployeeSituation(file);基本信息修改=new ModifySituation(file);基本信息查询=new Inquest(this,file);基本信息删除=new Delete(file);pCenter.add("欢迎语界面",label);pCenter.add("录入界面",基本信息录入);pCenter.add("修改界面",基本信息修改);pCenter.add("删除界面",基本信息删除);con.add(pCenter,BorderLayout.CENTER);con.validate();addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);setBounds(100,50,420,380);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==录入){card.show(pCenter,"录入界面"); }else if(e.getSource()==修改){card.show(pCenter,"修改界面"); }else if(e.getSource()==查询){基本信息查询.setVisible(true); }else if(e.getSource()==删除){card.show(pCenter,"删除界面"); }}public static void main(String args[]) {new EmployeeManager();}}3、实现员工信息的录入:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class EmployeeSituation extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;Employee 员工=null;ButtonGroup group=null;JButton 录入,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public EmployeeSituation(File file){this.file=file;员工号=new JTextField(10);姓名=new JTextField(10);部门=new Choice();部门.add("请选择");部门.add("研发部");部门.add("销售部");部门.add("人事部");部门.add("安全部");工资=new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男",true);女=new JRadioButton("女",false);group.add(男);group.add(女);录入=new JButton("录入");重置=new JButton("重置");录入.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox(); box1.add(new JLabel("员工号:",JLabel.CENTER)); box1.add(员工号);Box box2=Box.createHorizontalBox(); box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox(); box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox(); box4.add(new JLabel("部门:",JLabel.CENTER));box4.add(部门);Box box6=Box.createHorizontalBox();box6.add(new JLabel(" ",JLabel.CENTER));Box box5=Box.createHorizontalBox(); box5.add(new JLabel("工资:",JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox(); boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box6);boxH.add(box4);boxH.add(Box.createVerticalGlue()); JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.yellow);setLayout(new BorderLayout());add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add(录入);pSouth.add(重置);pSouth.setBackground(Color.yellow);add(pSouth,BorderLayout.SOUTH);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==录入){String number="";number=员工号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){String warning="该员工基本信息已存在,请到修改页面修改!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}else{String m="基本信息将被录入!";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=姓名.getText();String discipling=部门.getSelectedItem();String grade=工资.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}员工=new Employee();员工.setNumber(number);员工.setName(name);员工.setDiscipling(discipling);员工.setGrade(grade);员工.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number,员工);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();员工号.setText(null);姓名.setText(null);工资.setText(null);}catch(Exception ee){System.out.println(ee);}}}}else{String warning="必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}if(e.getSource()==重置){员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedIndex());工资.setText(null); }}}4、实现员工信息的修改:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;ButtonGroup group=null;JButton 开始修改,录入修改,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituation(File file){this.file=file;员工号=new JTextField(10);姓名=new JTextField(10);部门=new Choice();部门.add("请选择");部门.add("研发部");部门.add("销售部");部门.add("人事部");部门.add("安全部");工资=new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男",true);女=new JRadioButton("女",false);group.add(男);group.add(女);开始修改=new JButton("开始修改");录入修改=new JButton("录入修改");录入修改.setEnabled(false);重置=new JButton("重置");员工号.addActionListener(this);开始修改.addActionListener(this);录入修改.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel("输入要修改信息的员工号:",JLabel.CENTER)); box1.add(员工号);box1.add(开始修改);Box box2=Box.createHorizontalBox();box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel("部门:",JLabel.CENTER));box4.add(部门);Box box6=Box.createHorizontalBox();box6.add(new JLabel(" ",JLabel.CENTER));Box box5=Box.createHorizontalBox();box5.add(new JLabel("工资:",JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box6);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.yellow);setLayout(new BorderLayout());add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add(录入修改);pSouth.add(重置);pSouth.setBackground(Color.yellow);add(pSouth,BorderLayout.SOUTH);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==开始修改||e.getSource()==员工号){String number="";number=员工号.getText();if(number.length()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){录入修改.setEnabled(true);Employee stu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.getSelectedItem();工资.setText(stu.getGrade());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{录入修改.setEnabled(false);String warning="该员工号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}else{录入修改.setEnabled(false);String warning="必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}else if(e.getSource()==录入修改){String number="";number=员工号.getText();if(number.length()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){String question="该员工基本信息已存在,您想修改他(她)的基本信息吗?";JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE);String m="基本信息将被修改!";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=姓名.getText();String discipling=部门.getSelectedItem();String grade=工资.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Employee 员工=new Employee();员工.setNumber(number);员工.setName(name);员工.setDiscipling(discipling);员工.setGrade(grade);员工.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number,员工);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}catch(Exception ee){System.out.println(ee);}录入修改.setEnabled(false);}else if(ok==JOptionPane.NO_OPTION){录入修改.setEnabled(true);}}else{String warning="该员工号没有基本信息,不能修改!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);}}else{String warning="必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);}}if(e.getSource()==重置){员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}}5、实现员工信息的查询:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,部门,工资;JRadioButton 男,女;JButton 查询;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public Inquest(JFrame f,File file){super(f,"查询对话框",false);this.file=file;员工号=new JTextField(10);查询=new JButton("查询");员工号.addActionListener(this);查询.addActionListener(this);姓名=new JTextField(10);姓名.setEditable(false);部门=new JTextField(10);部门.setEditable(false);工资=new JTextField(10);工资.setEditable(false);男=new JRadioButton("男",false);女=new JRadioButton("女",false);group=new ButtonGroup();group.add(男);group.add(女);Box box1=Box.createHorizontalBox();box1.add(new JLabel("输入要查询的员工号:",JLabel.CENTER)); box1.add(员工号);box1.add(查询);Box box2=Box.createHorizontalBox();box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel("部门:",JLabel.CENTER));box4.add(部门);Box box5=Box.createHorizontalBox();box5.add(new JLabel("工资:",JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.green);Container con=getContentPane();con.add(pCenter,BorderLayout.CENTER);con.validate();setVisible(false);setBounds(100,200,360,270);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);} });}public void actionPerformed(ActionEvent e){姓名.setText(null);部门.setText(null);工资.setText(null);if(e.getSource()==查询||e.getSource()==员工号){String number="";number=员工号.getText();if(number.length()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){Employee stu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.setText(stu.getDisciping());工资.setText(stu.getGrade());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);} }else{String warning="该员工号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}6、实现员工信息的删除:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,部门,工资;JRadioButton 男,女;JButton 删除;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public Delete(File file){this.file=file;员工号=new JTextField(10);删除=new JButton("删除");员工号.addActionListener(this);删除.addActionListener(this);姓名=new JTextField(10);姓名.setEditable(false);部门=new JTextField(10);部门.setEditable(false);工资=new JTextField(10);工资.setEditable(false);男=new JRadioButton("男",false);女=new JRadioButton("女",false);group=new ButtonGroup();group.add(男);group.add(女);Box box1=Box.createHorizontalBox();box1.add(new JLabel("输入要删除的学号:",JLabel.CENTER));box1.add(员工号);box1.add(删除);Box box2=Box.createHorizontalBox();box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel("部门:",JLabel.CENTER));box4.add(部门);Box box6=Box.createHorizontalBox();box6.add(new JLabel(" ",JLabel.CENTER));Box box5=Box.createHorizontalBox();box5.add(new JLabel("工资:",JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box6);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.yellow);setLayout(new BorderLayout());add(pCenter,BorderLayout.CENTER);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==删除||e.getSource()==员工号){String number="";number=员工号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject(); inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){Employee stu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.setText(stu.getDisciping());工资.setText(stu.getGrade());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}String m="确定要删除该员工号及全部信息吗?";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){基本信息表.remove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();员工号.setText(null);姓名.setText(null);部门.setText(null);工资.setText(null);}catch(Exception ee){System.out.println(ee);}}else if(ok==JOptionPane.NO_OPTION){员工号.setText(null);姓名.setText(null);部门.setText(null);工资.setText(null);}}else{String warning="该员工号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}六、设计总结(程序中所出现的问题及如何改进)本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了对员工信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其中还应用到了图形用户界面。