JAVA课程设计--员工信息管理系统(徐如飞)

合集下载

员工管理系统java课程设计代码

员工管理系统java课程设计代码

员工管理系统java课程设计代码员工管理系统是一个非常广泛的课程设计主题,它涉及到许多方面,包括数据库设计、用户界面设计、业务逻辑等等。

由于篇幅限制,我将简要介绍员工管理系统的Java课程设计代码的一般架构和关键功能,希望能够帮助你理解和实现这样一个系统。

首先,员工管理系统通常需要一个数据库来存储员工信息,包括员工的个人信息、工资、部门等。

在Java中,你可以使用JDBC 来连接数据库,执行SQL语句来实现数据的增删改查操作。

你需要创建一个数据库连接类来管理数据库连接,以及实现员工信息的增删改查功能。

其次,员工管理系统需要一个用户界面来实现用户与系统的交互。

你可以使用Swing或JavaFX等GUI库来创建界面,包括登录界面、员工信息管理界面等。

在界面上,你需要实现各种按钮、文本框等组件来实现用户的操作,比如添加员工、删除员工、修改员工信息等。

另外,员工管理系统还需要实现一些业务逻辑,比如计算员工的工资、根据部门查询员工信息等。

你可以创建一个业务逻辑类来实现这些功能,然后在界面上调用这些方法来实现相应的功能。

此外,为了保证系统的安全性和稳定性,你还需要进行异常处理、输入验证等工作。

在Java中,你可以使用try-catch语句来捕获异常,并使用正则表达式等方法来验证用户的输入。

最后,为了保证代码的可维护性和可扩展性,你可以将不同的功能模块分别封装成不同的类,采用面向对象的编程思想来设计代码结构。

总的来说,员工管理系统的Java课程设计代码涉及到数据库连接、用户界面设计、业务逻辑实现等多个方面。

希望以上简要介绍能够对你有所帮助。

如果你需要更具体的代码实现或者其他方面的帮助,请随时告诉我。

Java实现员工信息管理系统

Java实现员工信息管理系统

Java实现员⼯信息管理系统在Java SE中,对IO流与集合的操作在应⽤中⽐较重要。

接下来,我以⼀个⼩型项⽬的形式,演⽰IO流、集合等知识点在实践中的运⽤。

该项⽬名称为“员⼯信息管理系统”(或“员⼯收录系统”),主要是通过输⼊员⼯的id、姓名信息,实现简单的增删改查功能。

该项⽬主要在DOS窗⼝的控制台或者Eclipse的控制台上进⾏操作。

操作界⾯如下:该项⽬的⽂件结构如下:Step 1:⼊⼝类SystemMain的代码为:package empsystem;import java.util.Scanner;/*** 主界⾯* ⼀个Scanner录⼊对象* Employ类* ⽂件路径* 查重SearchID* @author 李章勇**/public class SystemMain {private Scanner sc=new Scanner(System.in);public SystemMain() {showWelcome();}public void showWelcome(){System.out.println("----员⼯收录系统");System.out.println("1.增加员⼯功能");System.out.println("2.查看员⼯功能");System.out.println("3.修改员⼯功能");System.out.println("4.删除员⼯功能");System.out.println("5.退出系统");String choice=sc.nextLine();switch(choice){case "1":System.out.println("您选择了增加⽤户功能");//Addnew Add();break;case "2":System.out.println("您选择了查看⽤户功能");//Searchnew ShowEmp();break;case "3":System.out.println("您选择了修改⽤户功能");//Modifynew Modify();break;case "4":System.out.println("您选择了删除⽤户功能");//删除⽤户Deletenew Delete();break;case "5":System.out.println("您选择了退出系统");return;default:System.out.println("⽆此功能");break;}}}Step 2:写⽂件路径FilePath接⼝。

职工管理系统java课程设计简单实现

职工管理系统java课程设计简单实现
三、系统概要设计:
3.1问题描述
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
3.2要求
职工对象包括员工号(员工号不重复),姓名(字符串),性别(字符),年龄(数字),学历(字符串),部门(字符串),工资(数字),住址(字符串),电话(数字)等信息。
(1)新增一名职工:将新增职工各项资料加入数据库。
a[i][5]=rs.getString(6);
a[i][6]=rs.getString(7);
a[i][7]=rs.getString(8);
a[i][8]=rs.getString(9);
a[i][9]=String.valueOf(rs.getFloat(10));
a[i][10]=String.valueOf(rs.getInt(11));
职工信息管理系统设计
一、绪论
1.1关键技术介绍
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术。
try{if(rs.next()){//对select结果的判断,若存在重复,则运行下面提示
JOptionPane.showMessageDialog(null,"该员工号码存在,请重新输入!","警告",JOptionPane.PLAIN_MESSAGE);}
else{
String Sex=null;
(2)删除一名职工:从数据库中删除一名职工对象。
(3)查询:按照员工号、姓名、部门查询已存在的员工信息。

员工信息管理系统设计

员工信息管理系统设计

员工信息管理系统设计一、引言员工信息管理系统是为了帮助企业和公司更好地管理和维护员工的日常数据而开发的一款软件。

它主要解决了人力资源管理过程中,人员信息管理、数据统计、考核评价、报表输出等一系列问题,使得企业在人力资源管理方面能够更加高效和精准。

因此,本文旨在对员工信息管理系统的设计进行详细的说明和分析。

二、需求分析在设计员工信息管理系统之前,需要先做好需求分析工作,确保软件开发的准确性和用户的满意度。

1. 功能需求分析员工信息管理系统主要包括以下功能模块:(1)员工信息录入与修改:管理员可以录入和修改员工的个人信息和职业信息,例如:姓名、性别、民族、联系方式、职位、工资等,同时还能够上传员工照片。

(2)考勤管理:管理人员可以通过该系统进行员工考勤登记、请假申请、加班申请、旷工登记等操作,以便更好地管控员工的工作时间。

(3)绩效考核评价:管理人员可以通过该系统制定绩效目标、设定考核标准、进行绩效评估等操作,以便更好地评价员工的业绩和素质。

(4)数据统计分析:系统可以自动生成各类报表,如人员总数、员工离职率、薪资统计、绩效考核评分等报表,让管理员能够更加快捷地了解公司员工情况。

2.可行性分析在设计员工信息管理系统之前,还需要进行可行性分析,即检验该系统的设计是否符合实际情况,并落实设计思路和实现方法。

在可行性分析中,需要考虑以下几个方面:(1)技术可行性:该系统应符合企业信息化与数字化发展的趋势,并应考虑软件技术的实际操作和人性化操作设计。

(2)经济可行性:该系统的设计与开发应遵循合理的成本控制原则,并考虑到企业实际情况的资金来源和利润回报。

(3)社会可行性:该系统的设计应遵循经济、社会以及生态环境的可持续发展原则,并具有一定的社会意义,在整个社会环境中能够得到广泛认可。

三、系统设计1.系统架构设计在员工信息管理系统的设计中,我们选择使用Web-based 架构,采用B/S系统模式。

它的好处在于用户可以藉由浏览器来使用系统,不必安装Office软件或数据库来支持系统的运行,大大降低了用户的使用成本。

《员工信息管理系统》详细设计说明书

《员工信息管理系统》详细设计说明书

《员工信息管理系统》详细设计说明书《员工信息管理系统》详细设计说明书1.引言1.1 编写目的本文档旨在详细描述员工信息管理系统的设计思路、功能模块划分、关键技术选择等,为开发团队成员提供设计参考和实施指导。

1.2 背景随着公司规模的扩大和组织结构的复杂化,员工信息管理成为一项重要的任务。

本系统旨在提供一个集中管理员工信息的平台,包括基本信息、薪资福利、考勤记录等功能模块。

2.需求分析2.1 功能需求①基本信息管理2.①新增员工信息2.②修改员工信息2.③删除员工信息2.④查询员工信息②薪资福利管理2.①设置薪资标准2.②发放薪资2.③员工福利管理③考勤记录管理2.①登录考勤记录2.②查询考勤记录2.③统计考勤情况2.2 性能需求①响应时间:系统对用户请求的响应时间要求在1秒以内。

②并发量:系统能同时处理100个并发请求。

3.架构设计3.1 概述本系统采用B/S架构,前端使用、CSS、JavaScript技术实现,后端使用Java语言开发。

3.2 系统分层①表示层3.①前端界面设计3.②前端业务逻辑实现②业务逻辑层3.①员工信息管理模块 3.②薪资福利管理模块3.③考勤记录管理模块③数据访问层3.①数据库设计3.②数据库访问接口设计4.技术选型4.1 前端技术① 5② CSS3③ JavaScript④ Ajax4.2 后端技术① Java② Spring框架③ MyBatis框架④ Tomcat服务器5.数据库设计5.1 员工基本信息表(employee)字段:员工ID、姓名、性别、出生日期、联系方式、邮箱等。

5.2 薪资福利表(salary)字段:员工ID、薪资、奖金、加班费、社保等。

5.3 考勤记录表(attendance)字段:考勤ID、员工ID、打卡时间、是否迟到、请假等。

6.数据库访问接口设计6.1 员工信息管理模块接口①新增员工信息接口②修改员工信息接口③删除员工信息接口④查询员工信息接口6.2 薪资福利管理模块接口①设置薪资标准接口②发放薪资接口③员工福利管理接口6.3 考勤记录管理模块接口①登录考勤记录接口②查询考勤记录接口③统计考勤情况接口7.附件附件2:数据库设计脚本8.法律名词及注释8.1 著作权:对于文档及代码的所有权和使用权8.2 商标:注册商标的商标权与商标使用权8.3 数据保护:对于员工个人信息的保护义务8.4 隐私权:对于员工个人信息的隐私保护。

基于 java web 的职工信息管理系统设计与实现

基于 java web 的职工信息管理系统设计与实现

基于java web 的职工信息管理系统设计与实现全文共四篇示例,供读者参考第一篇示例:随着互联网的发展和技术的进步,各种企业内部管理系统已经成为现代企业管理中必不可少的一部分。

职工信息管理系统是企业内部管理系统中的一个重要组成部分,它能够帮助企业更好地管理和利用职工的信息,提高工作效率和管理水平。

本文将介绍基于java web的职工信息管理系统设计与实现,以帮助企业构建一套高效、灵活、安全的职工信息管理系统。

一、系统需求分析1.功能需求:系统应具备以下主要功能- 用户管理:包括管理员和普通用户两种角色,管理员具有添加、修改、删除用户的权限,普通用户只能查看和修改自己的信息。

- 职工信息管理:包括职工的基本信息、工作经历、教育背景等信息的录入、修改、查询和删除功能。

- 权限管理:不同角色的用户应该有不同的权限进行数据操作。

- 数据统计分析:系统应具备数据统计和分析功能,能够生成各种统计报表和图表。

- 日志管理:系统应具备日志管理功能,记录用户的操作日志以便追踪和审计。

2.性能需求:系统应具备高性能、稳定性和安全性,能够支持大量数据的处理和快速响应用户请求。

3.界面需求:系统应具备友好的用户界面,符合用户操作习惯,易于操作和管理。

二、系统设计与实现1.技术选型:本系统采用java web技术进行开发,使用spring mvc+mybatis进行框架搭建,数据库采用mysql进行数据存储,前端使用bootstrap+jquery进行页面设计,权限控制采用shiro进行管理。

2.系统架构设计:本系统采用MVC架构进行设计,将系统分为模型层、视图层和控制层,以降低系统的耦合度和提高系统的扩展性。

3.数据库设计:根据系统需求分析,设计数据库表包括用户表、职工信息表、日志表等,通过外键进行关联,确保数据的完整性和一致性。

4.功能模块设计:根据系统功能需求,设计系统的功能模块包括用户管理模块、职工信息管理模块、权限管理模块、数据统计分析模块、日志管理模块等。

职工信息管理系统java源代码

职工信息管理系统java源代码

package exercise;import java.io.*;class staffInfo //职工类{public String name;public String num;public String sex;public String age;public String record;public String position;public String wanges;public String tel;public String addr;}public class StaffInfomation //实现部分{public static void main(final String[] args) throws IOException {staffInfo staffOne[]=new staffInfo[100];for(int j=0;j<100;j++)staffOne[j] = new staffInfo();final ways staffTwo=new ways();staffTwo.caidan(staffOne);staffTwo.creat(staffOne);staffTwo.output(staffOne);staffTwo.search(staffOne);staffTwo.delete(staffOne);}}class ways //方法类,重要实现职工信息的建立,显示,查找,删除,信息的保存与读取;这个类是整个程序的操作类。

{public String recordkey;public int i=0;//i用来存放职工的人数public String filename="Infomation.txt";BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));void caidan(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); //此处是JAVA语言中输入数据的基本格式,功能有如C中的scanf函数int choice;do{System.out.println("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");System.out.println("┃★★★★★★★★职工管理系统主菜单界面★★★★★★★★┃");System.out.println("┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫");System.out.println("┃★★★1.输入职工信息★★★┃");System.out.println("┃★★★ 2.预览职工信息★★★┃");System.out.println("┃★★★ 3.查找职工信息★★★┃");System.out.println("┃★★★ 4.删除职工信息★★★┃"); System.out.println("┃★★★5.读取已存数据★★★┃");System.out.println("┃★★★ 6.安全退出系统★★★┃");System.out.println("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");System.out.print(" 请输入您需要的功能代号(1--6):");choice=Integer.parseInt(buf.readLine());switch(choice){case 1:creat(staffOne);break;case 2:output(staffOne);break;case 3:search(staffOne);break;case 4:delete(staffOne);break;case 5:read(staffOne);break;case 6:save(staffOne);break;}}while(choice!=0);}void creat(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入职工信息(以0结束)\n");System.out.print("姓名:");staffOne[i].name=buf.readLine(); //用数组staffOne[i]来暂存职工的相关信息while(staffOne[i]pareTo("0")!=0) //用compareTo方法拟定鉴定是否应当写入新信息{System.out.print("工号:");staffOne[i].num=buf.readLine();System.out.print("性别:");staffOne[i].sex=buf.readLine();System.out.print("年龄:");staffOne[i].age=buf.readLine();System.out.print("学历:");staffOne[i].record=buf.readLine();System.out.print("职位:");staffOne[i].position=buf.readLine();System.out.print("工资:");staffOne[i].wanges=buf.readLine();System.out.print("电话:");staffOne[i].tel=buf.readLine();System.out.print("住址:");staffOne[i].addr=buf.readLine();i++;System.out.println("请输入下一个职工信息:");staffOne[i].name=buf.readLine();}}void output(staffInfo staffOne[]) throws IOException //这里是实现“输出(预览)职工信息”output的模块{for(int j=0;j<i;j++){if(i!=0){System.out.println("------------------------------------------------------------------------------------------------");System.out.println(" *职工信息表* ");System.out.println("-------------------------------------------------------------------------------------------------");System.out.println("姓名\t工号\t\t性别\t年龄\t学历\t职位\t\t工资\t电话号码 \t\t住址");System.out.println("-------------------------------------------------------------------------------------------------");System.out.print(staffOne[j].name+"\t"+staffOne[j].num+"\t"+staff One[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+staf fOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel+" \t"+staffOne[j].addr+"\n");System.out.println("-------------------------------------------------------------------------------------------------");}else System.out.println("没有职工信息!");}}void search(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入您要查找的职工工号:");recordkey=buf.readLine();boolean flg=true;for(int j=0;j<i;j++){if(recordkey.equals(staffOne[j].num)) //equals是字符串比较函数相等返回true{System.out.println("-------------------------------------------------------------------------------------");System.out.println(" *职工信息表* ");System.out.println("--------------------------------------------------------------------------------------");System.out.println("姓名\t工号\t\t性别\t年龄\t学历\t职位 \t\t 工资\t电话号码 \t\t住址");System.out.println("--------------------------------------------------------------------------------------");System.out.println(staffOne[j].name+"\t"+staffOne[j].num+"\t"+sta ffOne[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+st affOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel +"\t"+staffOne[j].addr+"\n");flg=false;}}if(flg)System.out.println("对不起,查无此人!");}void delete(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入您要删除的职工工号:");recordkey=buf.readLine();boolean flg=true;for(int j=0;j<i;j++){System.out.println("输入的工号为:"+recordkey);if(recordkey.equals(staffOne[j].num)){for(int k=j;k<=i-1;k++) //运用顺序表的删除算法,删除值之后,再把后面的值往前移位,从而实现删除{staffOne[k].name=staffOne[k+1].name ;staffOne[k].num=staffOne[k+1].num ;staffOne[k].sex=staffOne[k+1].sex;staffOne[k].age=staffOne[k+1].age ;staffOne[k].record=staffOne[k+1].record ;staffOne[k].position=staffOne[k+1].position ;staffOne[k].wanges=staffOne[k+1].wanges ;staffOne[k].tel=staffOne[k+1].tel ;staffOne[k].addr=staffOne[k+1].addr ;}i--;//职工人数减一flg=false;}}if(flg)System.out.println("对不起,查无此人!。

java课程设计报告(人事管理系统)

java课程设计报告(人事管理系统)

...人事管理系统一.系统需求分析: (2)(1)系统的功能设计 (2)(2)系统功能结构 (2)(3)数据库设计 (2)二. 功能模块开发 (3)(1)查询人员信息界面 (3)(2)添加员工界面 (4)(3)修改员工信息界面 (4)(4)删除员工界面 (5)(5)员工考核界面 (6)(6)员工考核历史记录界面 (6)三. 各个类说明 (7)四. 程序代码 (11)(1)Manager (11)(2)CardEmploy (13)(3)SelEmploy (14)(4)AddEmploy (16)(5)ReviseEmploy (18)i UpdDialog (20)(6)DelEmploy (23)(7)AllEmploy (25)(8)Examine (25)(9)History (29)(10)EmployModel (30)(11)AppraisalModel (32)(12)SqlHelper (35)一.系统需求分析:(1)系统的功能设计i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览(2)系统功能结构人事管理的系统结构功能结构如图所示:(3)数据库设计员工基本表(Employinfo)名称字段名称数据类型主键非空工号Empno varchar(10) Yes YesEname varchar(10) No yes考核历史记录(History)二.功能模块开发(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.M anager类Manager类的一个实例,从而生成了人事管理系统的界面,用JSplitPane 类将整个界面分为左右两个部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要众所周知,当今社会是信息社会,因此,要想加强人事管理,单纯依靠以前的手工管理,不仅会浪费大量的人力,物力,财力,而且效率不高,而且很难达到预期的目的。

所以人事管理信息系统能够提供准确的人员信息,以便领导者了解企业各个部门的人员构成,安排好工作计划,使企业变的更高效。

该系统能够对某单位的职工进行管理,主要功能如下是:一、人事资料输入:输入员工信息,如姓名、身份证号、地址、电话、部门、工资、参加工作时间、专业、职务、备注等。

二、信息查询:可根据职工编号、职工名称、出生年月范围、工资范围、参加工作时间范围等条件查询。

三、登陆检测、用户管理、密码修改、权限设置。

四、系统初始化:包括操作员信息初始化和职工信息初始化。

五、用户信息修改:拥有权限的操作员可以修改、冻结、删除普通用户。

关键词:人事信息、java、用户界面目录一、设计目的 (1)二、设计问题 (1)三、概要设计 (1)四、详细设计 (2)1、定义员工类: (3)2、主程序: (4)3、实现员工信息的录入: (7)4、实现员工信息的修改: (12)5、实现员工信息的查询: (19)6、实现员工信息的删除: (23)五、设计总结 (27)参考文献 (28)信息专业java语言程序设计课程设计人事管理系统一、设计目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。

使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。

二、设计问题设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能(2)使用用户界面操作(3)使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。

通过文件类型知识的应用,实现对员工信息的管理。

三、概要设计1、从管理员角度讲,实现的功能是:(1)对员工有关数据的输入功能a) 实现对员工基本信息的输入b) 实现对员工奖惩信息的输入(2)对员工有关数据的更新功能由管理员进行档案收集,经过对档案资料的处理,更新员工档案管理系统中的奖惩相关信息(包括员工基本信息和员工业绩信息)。

(3)对员工档案信息的查询功能管理员可以通过自己的用户名和密码在因特网上对所有员工的信息(包括员工的档案信息、员工的业绩信息)进行查询。

(4)对员工、部门和部门领导信息的简单管理(5)对用户密码的管理2、从普通用户(员工)的角度讲,实现的功能是:人事管理系统(1)在单位员工可以通过自己的编号和密码在因特网上对自己的个人信息(包括个人的档案信息、业绩信息)进行查询。

(2)对用户密码的管理面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。

功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。

员工信息管理系统的系统运行流程图四、详细设计信息专业java语言程序设计课程设计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(查询);信息专业java语言程序设计课程设计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();}}信息专业java语言程序设计课程设计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);}}}}五、设计总结通过本次课程设计,我对软件开发设计分析过程有了深刻了解,不仅提高了编程思路,而且充分认识到分工合作在软件开发部署过程中的重要性。

相关文档
最新文档