JavaSwing人事管理系统(Java课程设计)

一、题目详情:

该系统主要功能有:

1) 系统用户登录以及权限管理。能够对管理员的权限进行添加和删除。

2) 公司员工基本信息管理。能够增、删、改、查看公司员工的信息。能够增、删、改公司各部门的名称。

3) 会议记录管理。能够添加、删除、修改、查询公司任何一天的会议记录。

4) 任务管理。能够添加、删除、修改、查询公司任何一天分配的任务。

 

二、类及数据的设计

本次实验一共设计了15个类:一个是主类也是登陆界面(LoginWindow),一个数据库连接类(DataBaseCreate),一个主页面类(Function),四个员工信息类(Addperson,Deleteperson,Updateperson,Findperson),四个会议信息类(Addhuiyi,Deletehuiyi,Updatehuiyi,Findhuiyi),四个任务信息类(Addrenwu,Deleterenwu,Updaterenwu,Findrenwu)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16

数据:本题题解采用了MySQL数据库连接,设计如下图

e6e0ed5e051c4645a39d076418a2e7d3.png watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_16,color_FFFFFF,t_70,g_se,x_16 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16

三、部分代码展示

DataBaseCreate.java

package renshiguanli;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DataBaseCreate {
	public static Connection getConnection()throws SQLException,java.lang.ClassNotFoundException{
		//建立本地数据库连接,编码规则转换为utf-8(正常录入中文)
		String url = "jdbc:mysql://localhost:3306/personmanagement?useUnicode=true&characterEncoding=utf8";
		Class.forName("com.mysql.cj.jdbc.Driver");
		String userName = "root";
		String password = "XXX";
		Connection con = DriverManager.getConnection(url,userName,password);
		return con;
		
	}
}

Addperson.java

package renshiguanli;

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Addperson extends JPanel implements ActionListener{
	/*
	JPanel p1 = new JPanel();
	JPanel p2 = new JPanel();
	JPanel p3 = new JPanel();
	JPanel p4 = new JPanel();
	JPanel p5 = new JPanel();
	JPanel p6 = new JPanel();
	JPanel p7 = new JPanel();
	JPanel p8 = new JPanel();
	JPanel p9 = new JPanel();
	JPanel p10 = new JPanel();
	JPanel p11 = new JPanel();
	JPanel p12 = new JPanel();
	*/
	JLabel la1 = new JLabel("工号:");
	JLabel la2 = new JLabel("姓名:");
	JLabel la3 = new JLabel("性别:");
	JLabel la4 = new JLabel("生日:");
	JLabel la5 = new JLabel("考勤:");
	JLabel la6 = new JLabel("工龄:");
	JLabel la7 = new JLabel("底薪:");
	JLabel la8 = new JLabel("提成:");
	JLabel la9 = new JLabel("工资:");
	JLabel la10 = new JLabel("部门:");
	JLabel la11 = new JLabel("权限:");
	
	JButton b1 = new JButton("确定");
	JButton b2 = new JButton("取消");
	
	JTextField num = new JTextField(10);
	JTextField name = new JTextField(10);
	JTextField brithday = new JTextField(10);
	JTextField dixin = new JTextField(10);
	JTextField ticheng = new JTextField(10);
	JTextField gz = new JTextField(10);
	JTextField workyea = new JTextField(10);
	
	String[] sex = {"","男","女"};
	JComboBox s =new JComboBox(sex);
	String[] classes = {"","正常","请假","迟到","早退","旷工"};
	JComboBox clas = new JComboBox(classes);
	String[] majors = {"","销售部","设计部","策划部","秘书部"};
	JComboBox major = new JComboBox(majors);
	String[] qx = {"","管理员","员工"};
	JComboBox q = new JComboBox(qx);
	public Addperson() {
				this.setTitle("增加员工信息");
				this.setSize(650,350);
				this.setLayout(null);
				this.setBackground(Color.CYAN);
				
				la1.setSize(200,30);
				la1.setLocation(60, 40);
				num.setSize(120,30);
				num.setLocation(100, 40);
				this.add(la1);
				this.add(num);
				
				la2.setSize(200,30);
				la2.setLocation(60, 80);
				name.setSize(120,30);
				name.setLocation(100, 80);
				this.add(la2);
				this.add(name);
				
				la3.setSize(200, 30);
				la3.setLocation(60, 120);
				s.setSize(120, 30);
				s.setLocation(100, 120);
				this.add(la3);
				this.add(s);
				
				la4.setSize(200,30);
				la4.setLocation(60, 160);
				brithday.setSize(120,30);
				brithday.setLocation(100, 160);
				this.add(la4);
				this.add(brithday);
				
				la6.setSize(200,30);
				la6.setLocation(60, 200);
				workyea.setSize(120, 30);
				workyea.setLocation(100, 200);
				this.add(la6);
				this.add(workyea);
				
				la5.setSize(200,30);
				la5.setLocation(60,240);
				clas.setSize(120, 30);
				clas.setLocation(100, 240);
				this.add(la5);
				this.add(clas);
				
				la7.setSize(200, 30);
				la7.setLocation(300, 40);
				dixin.setSize(120, 30);
				dixin.setLocation(340, 40);
				this.add(la7);
				this.add(dixin);
				
				la8.setSize(200, 30);
				la8.setLocation(300, 80);
				ticheng.setSize(120, 30);
				ticheng.setLocation(340, 80);
				this.add(la8);
				this.add(ticheng);
				
				la9.setSize(200,30);
				la9.setLocation(300, 120);
				gz.setSize(120, 30);
				gz.setLocation(340, 120);
				this.add(la9);
				this.add(gz);
				
				la10.setSize(200, 30);
				la10.setLocation(300, 160);
				major.setSize(120, 30);
				major.setLocation(340, 160);
				this.add(la10);
				this.add(major);
				
				la11.setSize(200, 30);
				la11.setLocation(300,200);
				q.setSize(120, 30);
				q.setLocation(340, 200);
				this.add(la11);
				this.add(q);
				
				b1.setSize(100, 30);
				b1.setLocation(150, 300);
				b2.setSize(100, 30);
				b2.setLocation(300, 300);
				this.add(b1);
				this.add(b2);
				
				/*
				this.add(p1);
				this.add(p2);
				this.add(p3);
				this.add(p4);
				this.add(p5);
				this.add(p6);
				this.add(p7);
				this.add(p8);
				this.add(p9);
				this.add(p10);
				this.add(p11);
				this.add(p12);
				*/
				//设计布局
				/*getContentPane().setLayout(new GridLayout(6,2));
				getContentPane().add(p1);
				getContentPane().add(p2);
				getContentPane().add(p3);
				getContentPane().add(p4);
				getContentPane().add(p5);
				getContentPane().add(p6);
				getContentPane().add(p7);
				getContentPane().add(p8);
				getContentPane().add(p9);
				getContentPane().add(p10);
				getContentPane().add(p11);
				getContentPane().add(p12);
				*/
				
				b1.addActionListener(this);
				b2.addActionListener(this);
			}
	
	
	private void setTitle(String string) {
		// TODO 自动生成的方法存根
		
	}


	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO 自动生成的方法存根
		if(e.getActionCommand()=="确定") {
			try {
				//建立数据库连接
				Connection con = DataBaseCreate.getConnection();
				Statement sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
				//添加数据到数据库
				sql.executeUpdate("insert into student(Num,Name,Sex,workyea,Class,Major,Brithday,dixin,ticheng,gz,quanxian)"+"values('"+num.getText()+"','"+name.getText()+"','"+s.getSelectedItem()+
						"','"+workyea.getText()+"','"+clas.getSelectedItem()+"','"+major.getSelectedItem()+
						"','"+brithday.getText()+"','"+dixin.getText()+"','"+ticheng.getText()+"','"+gz.getText()+"','"+q.getSelectedItem()+"')");
				//关闭数据连接
				sql.close();
				con.close();
				JOptionPane.showMessageDialog(null, "成功录入人员信息","Message",JOptionPane.INFORMATION_MESSAGE);
				setVisible(false);
			}catch(java.lang.ClassNotFoundException err) {
				JOptionPane.showMessageDialog(null, err.getMessage(),"ClassNotFoundException:",JOptionPane.INFORMATION_MESSAGE);
			} catch (SQLException ex) {
				// TODO 自动生成的 catch 块
				JOptionPane.showMessageDialog(null, ex.getMessage(),"SQLException:",JOptionPane.INFORMATION_MESSAGE);
				ex.printStackTrace();
			}
		}
		else if(e.getActionCommand()=="取消") {
			setVisible(false);
		}
		
	}

}

 

四、运行程序

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_18,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16

 主界面

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_11,color_FFFFFF,t_70,g_se,x_16

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAREFK5a2Q5L-K,size_20,color_FFFFFF,t_70,g_se,x_16

 

 如需获取源码可私聊博主或以下链接,后期会发布GitHub链接:

https://download.csdn.net/download/weixin_53099632/85041142

 

  • 4
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小新没有蜡笔️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值