java课程设计报告-mini人事管理系统
java人事部课程设计

java人事部课程设计一、课程目标知识目标:1. 掌握Java面向对象编程的基本概念,包括类、对象、继承、封装和多态;2. 学会使用Java编写人事部信息管理系统的基础功能,如员工信息的增加、删除、修改和查询;3. 理解并能运用Java异常处理、文件操作和数据持久化存储。
技能目标:1. 能运用面向对象的思想分析并解决实际问题,具备初步的软件项目设计能力;2. 能够使用Java编写结构清晰、可读性强的代码,养成良好的编程习惯;3. 能够运用所学知识,独立完成一个小型人事部信息管理系统的设计与实现。
情感态度价值观目标:1. 培养学生积极的学习态度,激发对计算机编程的兴趣和热情;2. 培养学生的团队合作意识,学会在项目开发过程中与他人沟通与协作;3. 培养学生勇于面对困难,敢于挑战的精神,提高解决问题的能力。
课程性质:本课程为实践性较强的学科,注重理论联系实际,通过项目驱动的教学方法,使学生能够将所学知识应用于实际项目中。
学生特点:学生具备一定的Java基础,对面向对象编程有一定的了解,但实践经验不足,需要通过实际项目锻炼编程能力。
教学要求:结合学生特点,教师应注重理论与实践相结合,引导学生通过项目实践,掌握Java编程技巧,提高解决实际问题的能力。
在教学过程中,关注学生的学习进度和个体差异,提供有针对性的指导。
二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 封装、继承和多态的实现原理- Java异常处理机制2. Java编程规范与技巧:- 代码规范、命名规范- 编程习惯和调试方法- 设计模式初步介绍3. 人事部信息管理系统功能模块设计:- 系统需求分析- 功能模块划分与设计- 数据存储与文件操作4. 实践项目开发:- 系统框架搭建- 员工信息管理功能实现- 系统测试与优化教学内容安排与进度:第一周:面向对象编程基础,学习类与对象、封装、继承和多态等概念;第二周:Java编程规范与技巧,培养良好的编程习惯;第三周:人事部信息管理系统功能模块设计,进行需求分析和模块划分;第四周:实践项目开发,分阶段完成系统框架搭建、功能实现及测试优化。
(完整word版)java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生姓名:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师:x x所在系:电子信息系所学专业:计算机科学与技术年级:xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。
计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。
整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。
如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。
java实训报告(简单人事管理系统的设计与实现)

编号:xxxxXx学院综合课程设计报告简单人事管理系统的设计与实现学生:x,x,x,xxxxxxxxxxxxxxxxxxxxxxxxxxx指导教师: x x所在系:电子信息系所学专业:计算机科学与技术年级: xxxxxxxxxxxx2014年12月目录摘要 (1)第一章前言 (2)第二章需求分析 (3)第三章概要设计 (5)3.1 总模块设计 (5)3.2系统管理模块设计 (5)3.3数据信息管理模块 (6)3.4数据信息浏览模块 (7)3.5数据信息查询模块 (8)3.6帮助模块 (9)第四章详细设计 (11)4.1总的流程 (11)4.2 用户登录流程图 (11)4.3员工信息管理流程图 (12)4.4 部门信息管理流程图 (16)4.4.1添加部门管理信息流程图 (16)4.4.2删除部门管理信息流程图 (16)4.4.3 修改部门管理信息流程图 (17)4.5查询信息管理流程图 (18)4.5.1按职工号查询员工信息 (18)4.5.2按部门号查询部门信息 (20)第五章系统实现 (21)5.1用户登录模块实现 (21)5.2主界面设计模块实现 (22)5.2.1管理员进入的主界面 (22)5.2.2员工进入的主界面 (28)第六章总结 (31)参考文献: (32)简单人事管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中应用得到普及,不仅是在企业中,在学校利用计算机实现管理势在必行。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规化的必要条件。
计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。
整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。
如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。
java课程设计人事管理系统

人事管理系统. 系统需求分析:(1)系统的功能设计. ..........................................(2)系统功能结构. ............................................(3)-- *• ■数据库设计. .............................................功能模块开发...........................(1)查询人员信息界面. ......................................... (2)添加员工界面. ............................................ (3)修改员工信息界面. ......................................... (4)删除员工界面. ............................................ (5)员工考核界面. ............................................ (6)员工考核历史记录界面. ....................................三.各个类说明............................四. 程序代码.............................(1)Manager. ................................................(2)CardEmploy. .............................................3) SelEmploy . ..............................................4) AddEmploy. ..............................................5) ReviseEmploy . ...........................................i UpdDialog . ...................................................6) DelEmploy. ...............................................7) AllEmploy . ...............................................8) Examine. ..................................................9) History . ....................................................10) EmployModel ...........................................11) AppraisalModel ...........................................12) SqlHelper ...............................................系统需求分析:(1) 系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2) 系统功能结构人事管理的系统结构功能结构如图所示:(3) 数据库设计员工基本表(Employinfo)员工考核表(Appraisal )功能模块开发(1) 查询人员信息界面实例一个SelEmploy类,当点击“查询”时调用EmployModel类的queryEmploy方法实现查询(2) 添加员工界面实例一个AddEmploy类当点击“添加”时调用EmployModel类的updEmploy方法实现添加功能(3) 修改员工信息界面实例一个ReviseEmploy类当点击“修改”时,先调用UpdDialo弹跳出一个修改信息对话框,信息修改完毕后,调用EmployModel类的updEmploy方法实现修改功能(4) 删除员工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能(5)员工考核界面实例一个Examine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来完成考核功能(6)员工考核历史记录界面实例一个History 类当点击时调用AppraisalModel 类的updAppraisal 方法来完成考核功能三. 各个类说明类之间的关系图:1. Manager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。
java课程设计人事管理系统

枣庄学院信息科学与工程学院课程设计任务书题目:java人事管理系统学号: 0153 姓名: XXX 专业:计算机科学与技术课程: java程序设计指导教师: XXX 职称:讲师完成时间: 2012 年 5 月----2012 年 6 月枣庄学院信息科学与工程学院制课程设计任务书及成绩评定目录第1章概述前言1.1.1 背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。
当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。
并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。
计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。
因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。
传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。
如今,随着计算机技术的普及人们开始采用一系列的计算机语言编写程序开发人事管理系统,它实现了办公地自动化,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。
本文主要介绍一个简单的基于Java的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
Java、课程设计

Java程序设计期末课程设计报告题目人事管理系统设计班级:2017级网络安全与执法本科1班完成时间:2019 年12 月成绩评定:目录第一章引言 (1)1.1开发背景 (1)1.2需求分析 (1)第二章系统设计 (1)2.1 功能设计 (2)2.2 系统总体设计流程 (2)2.3 数据库设计及其环境的配置 (2)2.4 类与接口设计 (3)第三章系统的详细设计与实现 (4)3.1 界面设计 (5)3.2 用户登录模块 (6)3.3 员工信息添加模块 (7)3.4 员工信息删除模块 (8)3.5 权限设置模块 (9)第四章设计总结 (10)参考文献 (11)附录源码 (13)人事管理系统第一章引言随着计算机技术网络的飞速发展,当今社会正快速向信息自动化社会前进,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率, 也是企业的科学化、正规化管理, 与世界接轨的重要条件。
不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。
在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发人事管理系统是可行的。
在需求分析结果的基础上,对系统的功能模块进行划分。
接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。
在系统的设计与实现中,确定系统的开发思想以及开发环境,最后给出了系统中模块的详细设并对系统中的计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。
人事管理系统Java课程设计报告

人事管理系统Java课程设计报告第一篇:人事管理系统Java课程设计报告湖南科技大学计算机科学与工程学院数据库课程设计报告题目:人事管理管理系统学号:1005030221 姓名:艾向兵指导教师:张黎完成时间:2012年1月4日组员:苏勇,成佳裕,艾向兵企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。
使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析人事管理系统主要有以下几项功能要求:.新员工资料的输入。
.自动分配员工编号,并且设置初始的用户密码:.人事变动的记载,包括岗位和部门的调整。
.员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,人事资源管理包括:新员工档案输入,人事变更,员工档案查询1.3 与其它系统的关系本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。
同时为其他系统提供了员工登录的密码认证和权限分配。
1.4数据库设计数据库需求分析:员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。
人事变动:记录号,员工,变动,详细描述部门设置:部门编号,名称员工变动代号表员工信息表员工职位代码表管理员登陆界面信息查询,修改,删除主界面查询单个员工的界面总结这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。
在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。
在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。
一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。
java学校人事管理系统实验报告

p=(Person)it.next(); if(p.ID.equals(id)) break; else p=null; } System.out.println("id为"+id+"的信息:"+p); return p; } } package mypackage; import java.util.Scanner; public class AdminApp { private static Scanner sc; public static void main(String[] args) { String id; System.out.println("人事管理:"); Personnel personnel=new Personnel(); personnel.addStudent("111", "zhangsan", "nan", "19920624",600,"网 络工程"); personnel.addTeacher("112","lisi","nv","19930212","shuxin","讲 师","8000"); System.out.println(personnel.pList); System.out.println("请输入要删除人的id:"); sc = new Scanner (System.in); id=sc.nextLine(); personnel.deletePerson(id); System.out.println(personnel.pList); System.out.println("请输入要查询人的id:"); sc = new Scanner (System.in); id=sc.nextLine(); personnel.seekPerson(id); } }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA程序设计课程设计报告课题: mini人事管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:目录一、系统描述 (1)1. 前言 (1)2. 开发系统的功能介绍 (1)二、分析与设计 (2)1. 功能模块划分 (2)2. 数据库结构描述 (2)3. 各个模块实现方法描述 (3)4. 测试数据及期望结果 (5)三、源代码 (5)1. 主页面设计 (5)2. 记录添加界面的开发设计 (12)3. 上班登记子系统开发设计 (14)4. 下班登记子系统开发设计 (16)5. 信息统计页面的设计开发 (18)四、系统测试 (22)五、总结 (25)1. 实验心得 (25)2. 参考文献 (26)一、系统描述1.前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。
2、开发系统的功能介绍(1)上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录(2)下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。
(3)请假登记子系统请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。
(4)信息统计子系统信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。
(5)记录添加子系统记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。
二、分析与设计本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露,组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。
大家一起研究错误出在哪里,该怎么改正这些错误。
1.功能模块划分本系统分为如下的几大模块:2.数据库结构描述在这个MINI 开发系统中,选用mysql 作为系统服务数据库,这是因为mysql 功能强大,操作简便,应用较广。
数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。
设计的表如表一:表一3.各个模块实现方法描述1) 上班登记模块描述(负责人:李丹)上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。
上班信息统计界面是一个表格,每一行就是一个员工的相关信息。
如果某条记录不符合要求,可以将此条记录删除。
上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。
可以根据信息添加界面上的系统时间指示来填入相应的时间。
其流程图为:2) 下班登记模块描述(负责人:周露)下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。
下班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。
可以根据信息添加界面上的系统时间指示填入相应的时间。
其流程图为:3) 请假登记模块描述(负责人:李海霞)请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。
在这个下班信息添加界面中,主要是读取员工的ID、员工的姓名、员工的请假时间以及相关的描述信息,并将这些信息写入到数据库中。
其流程图为:4) 信息统计模块描述(负责人:李海霞)信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。
信息统计子系统主要是一个信息统计界面。
信息统计界面是一个表格,每一行就是一个员工的相关信息。
如果觉得某些记录不符合要求,还可以将此条记录删除。
在此界面,可以看到所有员工的上下班时间及其请假时间。
4.测试数据及期望结果这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录界面,在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。
在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。
如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。
有时也许还需要返回初始阶段。
期望结果:比方说,员工A3:00来上班,点击上班登记,手动添加上班记录。
下班亦然。
在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。
三、源代码1.主页面的设计开发package manpowersystem;import javax.swing.*;import java.awt.event.*;import java.awt.*;import yout.*;import javax.swing.event.*;public class MainFrame extends JFrame {private ImageIcon fmImage; //主框架面板代码文件声明的属性和变量XYLayout xYLayout1 = new XYLayout();JButton jTitleButton = new JButton();JButton jOnWorkButton = new JButton();JButton jOffWorkButton = new JButton();JButton jLeaveWorkButton = new JButton();JButton jStaticButton = new JButton();JButton jExitButton = new JButton();public MainFrame() {try {jbInit();addWindowListener( new WindowAdapter() { //窗口事件监听public void windowClosing( WindowEvent e ) {dispose(); //销毁窗口 }} );}catch ( Exception e ) {e.printStackTrace();}}public static void main( String[] args ) {MainFrame mainFrame = new MainFrame();mainFrame.validate();mainFrame.setLocation( 200, 150 );mainFrame.setSize( 600, 480 );mainFrame.setVisible( true );mainFrame.pack();}private void jbInit() throws Exception {fmImage=new ImageIcon( manpowersystem.MainFrame.class.getResource("Fengmian.png" ) ); jTitleButton.setBackground( new Color( 210, 138, 177 ) ); jTitleButton.setIcon( fmImage );jTitleButton.setFocusable( false ); //此按钮的聚焦作用失效xYLayout1.setWidth( 540 );xYLayout1.setHeight( 407 );this.getContentPane().setBackground( new Color( 210, 138, 177 ) ); this.setLocale( java.util.Locale.getDefault() );this.setResizable( true );this.setTitle( "Mini人事管理系统" );this.addWindowListener(newMainFrame_this_windowAdapter( this ) );this.getContentPane().setLayout( xYLayout1 );jOnWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOnWorkButton.setText( "上班登记" );jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) );jOnWorkButton.addHierarchyBoundsListener( newMainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) ); jOffWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOffWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOffWorkButton.setText( "下班登记" );jOffWorkButton.addActionListener(newMainFrame_jOffWorkButton_actionAdapter(this));jOffWorkButton.addAncestorListener( newMainFrame_jOffWorkButton_ancestorAdapter( this ) ); jLeaveWorkButton.setBackground( new Color( 212, 158, 217 ) ); jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jLeaveWorkButton.setText( "请假登记" );jLeaveWorkButton.addActionListener(newMainFrame_jLeaveWorkButton_actionAdapter(this));jLeaveWorkButton.addAncestorListener( newMainFrame_jLeaveWorkButton_ancestorAdapter( this ) );jStaticButton.setBackground( new Color( 212, 158, 217 ) ); jStaticButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jStaticButton.setText( "统计情况" );jStaticButton.addActionListener(newMainFrame_jStaticButton_actionAdapter(this));jStaticButton.addAncestorListener( newMainFrame_jStaticButton_ancestorAdapter( this ) );jExitButton.setBackground( new Color( 212, 158, 217 ) );jExitButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jExitButton.setText( "退出系统" );jExitButton.addActionListener(newMainFrame_jExitButton_actionAdapter( this ) );jExitButton.addAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) );this.getContentPane().add( jTitleButton,new XYConstraints( 0, 0, 358, 409 ) );this.getContentPane().add( jOnWorkButton,new XYConstraints( 393, 35, 115, 45 ) );this.getContentPane().add( jOffWorkButton,new XYConstraints( 393, 109, 115, 45 ) );this.getContentPane().add( jLeaveWorkButton,new XYConstraints( 393, 184, 115, 45 ) );this.getContentPane().add( jStaticButton,new XYConstraints( 393, 258, 115, 45 ) );this.getContentPane().add( jExitButton,new XYConstraints( 393, 332, 115, 45 ) );this.setResizable(false);} void this_windowClosed( WindowEvent e ) {System.exit( 0 );}void jOnWorkButton_ancestorMoved( HierarchyEvent e ) {}void jOffWorkButton_ancestorMoved( AncestorEvent e ) {}void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) {}void jStaticButton_ancestorMoved( AncestorEvent e ) {}void jExitButton_ancestorMoved( AncestorEvent e ) {}void jExitButton_actionPerformed( ActionEvent e ) {System.exit( 0 ); }//退出系统按钮的事件处理void jOnWorkButton_actionPerformed( ActionEvent e ) {OnWorkPanel onWorkPanel = new OnWorkPanel();onWorkPanel.setVisible(true);}//上班登记按钮的事件处理void jOffWorkButton_actionPerformed(ActionEvent e) {OffWorkPanel offWorkPanel = new OffWorkPanel();offWorkPanel.setVisible(true);}//下班登记按钮的事件处理void jLeaveWorkButton_actionPerformed(ActionEvent e) { LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel(); leaveWorkPanel.setVisible(true);}//请假登记按钮的事件处理void jStaticButton_actionPerformed(ActionEvent e) {StaticPanel staticPanel = new StaticPanel();staticPanel.setVisible(true);}//统计情况按钮的事件处理}Class MainFrame_this_windowAdapterextends java.awt.event.WindowAdapter {MainFrame adaptee;MainFrame_this_windowAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void windowClosed( WindowEvent e ) {adaptee.this_windowClosed( e );}}class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends java.awt.event.HierarchyBoundsAdapter {MainFrame adaptee;MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorMoved( HierarchyEvent e ) {adaptee.jOnWorkButton_ancestorMoved( e );}}class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jOffWorkButton_ancestorMoved( e );}}class MainFrame_jLeaveWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jLeaveWorkButton_ancestorMoved( e );}}class MainFrame_jStaticButton_ancestorAdapterimplements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jStaticButton_ancestorAdapter( MainFrame adaptee ) {this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jStaticButton_ancestorMoved( e );}}class MainFrame_jExitButton_ancestorAdapterimplements javax.swing.event.AncestorListener {MainFrame adaptee;MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void ancestorAdded( AncestorEvent e ) {}public void ancestorRemoved( AncestorEvent e ) {}public void ancestorMoved( AncestorEvent e ) {adaptee.jExitButton_ancestorMoved( e );}}class MainFrame_jExitButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void actionPerformed( ActionEvent e ) {adaptee.jExitButton_actionPerformed( e );}}class MainFrame_jOnWorkButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;}public void actionPerformed( ActionEvent e ) {adaptee.jOnWorkButton_actionPerformed( e );}}class MainFrame_jOffWorkButton_actionAdapterimplements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jOffWorkButton_actionPerformed(e);}}class MainFrame_jLeaveWorkButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jLeaveWorkButton_actionPerformed(e);}}class MainFrame_jStaticButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee;MainFrame_jStaticButton_actionAdapter(MainFrame adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jStaticButton_actionPerformed(e);}}2.记录添加界面的开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;public class RecordItem {private String strEmployeeID;private String strEmployeeName;private String strOnWorkTime;private String strOffWorkTime;private String strLeaveWorkTime;private String strDescribe;public RecordItem() {strEmployeeID = new String( "" );strEmployeeName = new String( "" );strOnWorkTime = new String( "" );strOffWorkTime = new String( "" );strLeaveWorkTime = new String( "" );strDescribe = new String( "" );}public void SetOnworkItem( String strEmployeeID, String strEmployeeName, String strOnWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strOnWorkTime = strOnWorkTime;this.strDescribe = strDescribe;}public void SetOffworkItem( String strEmployeeID, String strEmployeeName,String strOffWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strOffWorkTime = strOffWorkTime;this.strDescribe = strDescribe;}public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName,String strLeaveWorkTime, String strDescribe ) {this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strLeaveWorkTime = strLeaveWorkTime;this.strDescribe = strDescribe;}public String GetEmployeeID() {return strEmployeeID;}public String GetEmployeeName() {return strEmployeeName;}public String GetOnWorkTime() {return strOnWorkTime;}public String GetOffWorkTime() {return strOffWorkTime;}public String GetLeaveWorkTime() {return strLeaveWorkTime;}public String GetDescribe() {return strDescribe;}public void SetEmployeeID( String strEmployeeID ) {this.strEmployeeID = strEmployeeID;}public void SetEmployeeName( String strEmployeeName ) { this.strEmployeeName = strEmployeeName; }public void SetOnWorkTime( String strOnWorkTime ) {this.strOnWorkTime = strOnWorkTime;}public void SetOffWorkTime( String strOffWorkTime ) { this.strOffWorkTime = strOffWorkTime;}public void SetLeaveWorkTime( String strLeaveWorkTime ) { this.strLeaveWorkTime = strLeaveWorkTime;}public void SetDescribe( String strDescribe ) {this.strDescribe = strDescribe;}}3.上班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.util.*;import yout.*;public class OnWorkPanel extends TablePanel {String[] arrField = {"工号", "姓名", "上班时间", "备注"};public OnWorkPanel() {tableModel = new DefaultTableModel( arrData, arrField );jRecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格this.setTitle( "上班登记页面" );}public void AddRecord() {OnWorkRecordPane recordPane = new OnWorkRecordPane();recordPane.setSize( 630, 300 );recordPane.setLocation( 230, 100 );recordPane.setVisible( true );recordPane.setResizable( false );recordPane.validate();UpdateRecord(); //更新表格}public void DelRecord() {jTableScrollPane.getViewport().add( jRecordTable, null );intRow = jRecordTable.getSelectedRow();if ( intRow == -1 )return;try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );}catch ( Exception e ) {e.printStackTrace();}UpdateRecord(); //更新表格}public void UpdateRecord() {Object[][] arrTmp = {}; //设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); try {RecordItem[] result = new RecordItem[ 100 ];for ( int j = 0; j < 100; j++ )result[ j ] = new RecordItem();result = database.AccessData();for ( int i = 0; i < result.length; i++ ) {Object newdata[] = {result[ i ].GetEmployeeID(),result[ i ].GetEmployeeName(),result[ i ].GetOnWorkTime(),result[ i ].GetDescribe()};String strTmp = result[ i ].GetOnWorkTime();if ( strTmp.trim().length() == 0 )continue;tableModel.addRow( newdata );}}catch ( Exception e ) {e.printStackTrace();}}}public class OnWorkRecordPane extends RecordPane {public OnWorkRecordPane() {}public void RestoreRecord() {String strTmp = jEmployeeIDTextField.getText();if(strTmp.trim().length() == 0){this.dispose();return;}item.SetOnworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(),jDateTimeTextField.getText(),jReasonTextField.getText() );try {database.StoreData( item );}catch ( Exception e ) {e.printStackTrace();}this.dispose();}}4.下班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.util.*;import yout.*;public class OffWorkPanel extends TablePanel {String[] arrField = {"工号", "姓名", "下班时间", "备注"}; public OffWorkPanel() {tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格this.setTitle( "下班登记页面" );}public void AddRecord() {OffWorkRecordPane recordPane = new OffWorkRecordPane(); recordPane.setSize( 630, 300 );recordPane.setLocation( 230, 100 );recordPane.setVisible( true );recordPane.setResizable( false );UpdateRecord(); //更新表格}public void DelRecord() {jTableScrollPane.getViewport().add( jRecordTable, null );intRow = jRecordTable.getSelectedRow();if (intRow == -1)return;try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );}catch ( Exception e ) {e.printStackTrace();}UpdateRecord(); //更新表格}public void UpdateRecord() {Object[][] arrTmp = {}; //设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField );RecordTable = new JTable( tableModel );jTableScrollPane.getViewport().add( jRecordTable, null );try {RecordItem[] result = new RecordItem[ 100 ];for ( int j = 0; j < 100; j++ )result[ j ] = new RecordItem();result = database.AccessData();for ( int i = 0; i < result.length; i++ ) {Object newdata[] = {result[ i ].GetEmployeeID(),result[ i ].GetEmployeeName(),result[ i ].GetOffWorkTime(),result[ i ].GetDescribe()};String strTmp = result[ i ].GetOffWorkTime();if ( (strTmp== null) || (strTmp.trim().length() == 0) )continue;tableModel.addRow( newdata );}}catch ( Exception e ) {e.printStackTrace();}}}public class OffWorkRecordPane extends RecordPane {public OffWorkRecordPane() {}public void RestoreRecord() {String strTmp = jEmployeeIDTextField.getText();if ( strTmp.trim().length() == 0 ) {this.dispose();return;}item.SetOffworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(),jDateTimeTextField.getText(),jReasonTextField.getText() );try {database.StoreData( item );}catch ( Exception e ) {e.printStackTrace();}this.dispose();}}5.信息统计页面的设计开发package manpowersystem;import java.util.*;import java.awt.*;import javax.swing.*;public class Clock extends JPanel implements Runnable {boolean keepRunning = true;int lastxs = 0, lastys = 0, lastxm = 0, lastym = 0, lastxh = 0, lastyh = 0;Date dummy = new Date();String lastdate = dummy.toLocaleString();String myName;public Clock( String inName ) {myName = new String( inName );}public void plotpoints( int x0, int y0, int x, int y, Graphics g ) { g.drawLine( x0 + x, y0 + y, x0 + x, y0 + y );g.drawLine( x0 + y, y0 + x, x0 + y, y0 + x );g.drawLine( x0 + y, y0 - x, x0 + y, y0 - x );g.drawLine( x0 + x, y0 - y, x0 + x, y0 - y );g.drawLine( x0 - x, y0 - y, x0 - x, y0 - y );g.drawLine( x0 - y, y0 - x, x0 - y, y0 - x );g.drawLine( x0 - y, y0 + x, x0 - y, y0 + x );g.drawLine( x0 - x, y0 + y, x0 - x, y0 + y ); }public void circle( int x0, int y0, int r, Graphics g ) {int x, y;float d;x = 0;y = r;d = 5 / 4 - r;plotpoints( x0, y0, x, y, g );while ( y > x ) {if ( d < 0 ) {d = d + 2 * x + 3;x++;}else {d = d + 2 * ( x - y ) + 5;x++;y--;}plotpoints( x0, y0, x, y, g );}}public void paintComponent( Graphics g ) {super.paintComponent( g );int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter;String today;Date dat = new Date();s = dat.getSeconds();m = dat.getMinutes();h = dat.getHours();today = dat.toLocaleString();xcenter = getWidth() / 2;ycenter = getHeight() / 2 - 10;xs = ( int ) ( Math.cos( s * 3.14f / 30 - 3.14f / 2 ) * 35 + xcenter ); ys = ( int ) ( Math.sin( s * 3.14f / 30 - 3.14f / 2 ) * 35 + ycenter ); xm = ( int ) ( Math.cos( m * 3.14f / 30 - 3.14f / 2 ) * 30 + xcenter ); ym = ( int ) ( Math.sin( m * 3.14f / 30 - 3.14f / 2 ) * 30 + ycenter ); xh = ( int ) ( Math.cos( ( h * 30 + m / 2 ) * 3.14f / 180 - 3.14f / 2 ) * 20 + xcenter );yh = ( int ) ( Math.sin( ( h * 30 + m / 2 ) * 3.14f / 180 - 3.14f / 2 ) *20 + ycenter );g.setFont( new Font( "TimesRoman", Font.PLAIN, 14 ) );g.setColor( Color.green );circle( xcenter, ycenter, 40, g );g.setColor( new Color( 0, 0, 200 ) );g.drawString( "9", xcenter - 35, ycenter + 3 );g.drawString( "3", xcenter + 30, ycenter + 3 );g.drawString( "12", xcenter - 5, ycenter - 27 );g.drawString( "6", xcenter - 3, ycenter + 35 );g.setColor( Color.red );if ( xs != lastxs || ys != lastys ) {g.drawLine( xcenter, ycenter, lastxs, lastys );g.drawString( lastdate, xcenter - 55, ycenter + 55 );}if ( xm != lastxm || ym != lastym ) {g.drawLine( xcenter, ycenter - 1, lastxm, lastym );g.drawLine( xcenter - 1, ycenter, lastxm, lastym );} if ( xh != lastxh || yh != lastyh ) {g.drawLine( xcenter, ycenter - 1, lastxh, lastyh );g.drawLine( xcenter - 1, ycenter, lastxh, lastyh );} g.setColor( Color.red );g.drawString( today, xcenter - 55, ycenter + 55 );g.drawLine( xcenter, ycenter, xs, ys );g.setColor( Color.black );g.drawLine( xcenter, ycenter - 1, xm, ym );g.drawLine( xcenter - 1, ycenter, xm, ym );g.drawLine( xcenter, ycenter - 1, xh, yh );g.drawLine( xcenter - 1, ycenter, xh, yh );lastxs = xs;lastys = ys;lastxm = xm;lastym = ym;lastxh = xh;lastyh = yh;lastdate = today;}public void stop() {keepRunning = false;}public void run() {while ( keepRunning ) {try {Thread.sleep( 100 );}catch ( InterruptedException e ) {}repaint();}}}四.测试结果1.进入主页面如图一图一2.进入上班登记如图二图二在上班登记页面中添加记录如图三:图三添加记录后的界面如图四:图四3.进入下班登记添加下班的记录,添加下班记录后的界面如图五图五4.进入请假登记添加相关记录后如图六:图六5.进入统计情况如图七图七6.退出系统即退出人事管理系统,结束程序的运行。