java课程设计人事管理系统

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

j a v a课程设计人事管理

系统

Newly compiled on November 23, 2020

人事管理系统

一.系统需求分析:

(1)系统的功能设计

i员工信息管理:员工信息管理包括对员工基本信息和情况进行查询、添加、删除和修改及部门管理

ii员工考核管理:包括对员工的考核情况进行操作,还可以对历史考核情况进行浏览

(2)系统功能结构

人事管理的系统结构功能结构如图所示:

(3)数据库设计

员工基本表(Employinfo)

员工考核表(Appraisal)

考核历史记录(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类将整个界面分为左右两个部分。其中左侧实现了人事管理系统的功能树,采用JTree类构建,同时实现了TreeSelectionListener接口,定义了该接口所必须实现的

valueChanged(TreeSelectionEvent e)方法,JSplitPane右边加入卡片布局CardEmploy 类。当JTree的TreeSelectionEvent事件发生时,调用CardEmploy的方法切换不同卡片,实现不同的管理界面。

2.CardEmploy类

CardEmploy为卡片布局类的面板,主要功能是添加各个界面的卡片,当JTree的TreeSelectionEvent事件发生时。切换不同的卡片

3.EmployModel、AppraisalModel类

这两个类继承了AbstractTableModel,主要实现的功能是,存放调用sqlhelper

类得到的数据。可以通过调用sqlhelper实现增删查改功能

4.SqlHelpe r类

主要就是连接数据库的一些基础操作是,方便代码修改,重复使用

5.SelEmplo y

这个类继承Panel,为“查询员工”的界面。实现了Actionlistener 接口,当

ActionEvent 事件发生时,调用EmployModel类的queryEmploy方法实现查询

6.AddEmploy、ReviseEmploy、DelEmploy类

这些类继承Pane,分别为“添加员工信息”“修改员工信息”“删除员工信息”的界面,这些类实现了Actionlistener 接口,当ActionEvent 事件发生时,调用EmployModel类的updEmploy方法实现添加、查询、删除、功能

7.Examine类

这个类继承Panel,为“考核员工”界面。这个类实现了Actionlistener 接口,当ActionEvent 事件发生时,(1)先通过调用AppraisalModel的queryAppraisal 获取上次考核成绩,(2)修改Appraisal表的考核成绩(3)再把上次考核成绩跟本次考核成绩加到History表中

8.History

这个类主要是把History表中的信息显示到界面上。

四.程序代码

(1)Manager

package ;

import .*;

import .*;

import

import ;

import

import .*;

public class Manager extends JFrame implements TreeSelectionListener { JPanel jp;

JSplitPane js;

JScrollPane jsp;

JTree tree;

DefaultMutableTreeNode root, t1, t2, t1_1, t1_2, t1_3, t1_4, t1_5, t2_1,

t2_2;

CardEmploy ae;

EmployModel em;

public static void main(String[] args) {

Manager manager = new Manager();

}

public Manager() {

dd(js);

("人事管理系统");

(true);

(600, 500);

;

}

public void valueChanged(TreeSelectionEvent e) {

etLastSelectedPathComponent();

;

import .*;

public class CardEmploy extends Panel{

CardLayout c;

;

import .*;

import

public class SelEmploy extends Panel implements ActionListener { EmployModel em;

JLabel jl;

JTextField jtf;

JButton jb;

JTable jt;

JScrollPane jsp;

JPanel jp1;

public SelEmploy() {

;

import .*;

import

public class AddEmploy extends Panel implements ActionListener { JLabel jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;

JButton jb1, jb2;

JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;

JPanel jp1, jp2, jp3, jp4;

EmployModel em;

public AddEmploy() {

jl1 = new JLabel("工号:");

jl2 = new JLabel("姓名:");

jl3 = new JLabel("性别:");

jl4 = new JLabel("出生年月:");

jl5 = new JLabel("部门:");

jl6 = new JLabel("职位:");

jl7 = new JLabel("工资:");

jtf1 = new JTextField(20);

jtf2 = new JTextField(20);

jtf3 = new JTextField(20);

jtf4 = new JTextField(20);

相关文档
最新文档