基于Java的员工工资管理系统

article/2025/9/29 16:27:24

 源码编号:F-A15

项目类型:Java SE项目(awt+swing)

项目名称:基于Java的员工工资管理系统(EmployeeSalary)

用户类型:双角色(员工、管理员)

主要技术:java、awt、swing等技术

开发工具:Eclipse

运行工具:Eclipse/MyEclipse/IDEA都可以,默认Eclipse

数  据  库:MySQL5.7以上

项目简介:主要功能有员工、管理员登录、工资管理、管理员管理、工资查询、员工信息管理、部门管理、系统设置等功能模块

关键代码展示:

/** To change this template, choose Tools | Templates* and open the template in the editor.*//** MainFrame.java** Created on 2013-6-18, 22:12:20*/package code;import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JOptionPane;/**** @author Administrator*/
public class MainFrame extends javax.swing.JFrame {/** Creates new form MainFrame */private Toolkit tk = Toolkit.getDefaultToolkit();int x = tk.getScreenSize().width / 2 - 250;int y = tk.getScreenSize().height / 2 - 250;public MainFrame() {setTitle("工资管理系统");setLocation(x,y);initComponents();//  this.setDefaultCloseOperation(MainFrame.DO_NOTHING_ON_CLOSE);}/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*/@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponentsprivate void initComponents() {jColorChooser1 = new javax.swing.JColorChooser();jPanel1 = new javax.swing.JPanel(){protected void paintComponent(Graphics g){super.paintComponent(g);Image img = Toolkit.getDefaultToolkit().getImage("src/resource/009.jpg");Graphics gg = g.create();gg.drawImage(img, 0, 0, getWidth(), getHeight(), this);gg.dispose();}};jMenuBar1 = new javax.swing.JMenuBar();jMenu1 = new javax.swing.JMenu();jMenuItem1 = new javax.swing.JMenuItem();jMenuItem2 = new javax.swing.JMenuItem();jMenuItem3 = new javax.swing.JMenuItem();jMenu2 = new javax.swing.JMenu();jMenuItem4 = new javax.swing.JMenuItem();jMenuItem5 = new javax.swing.JMenuItem();jMenuItem6 = new javax.swing.JMenuItem();jMenu3 = new javax.swing.JMenu();jMenuItem7 = new javax.swing.JMenuItem();jMenuItem8 = new javax.swing.JMenuItem();jMenuItem12 = new javax.swing.JMenuItem();jMenu4 = new javax.swing.JMenu();jMenuItem9 = new javax.swing.JMenuItem();jMenuItem10 = new javax.swing.JMenuItem();jMenuItem13 = new javax.swing.JMenuItem();jMenu5 = new javax.swing.JMenu();jMenuItem11 = new javax.swing.JMenuItem();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));jPanel1.addAncestorListener(new javax.swing.event.AncestorListener() {public void ancestorMoved(javax.swing.event.AncestorEvent evt) {}public void ancestorAdded(javax.swing.event.AncestorEvent evt) {jPanel1AncestorAdded(evt);}public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {}});javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);jPanel1.setLayout(jPanel1Layout);jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 637, Short.MAX_VALUE));jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 365, Short.MAX_VALUE));jMenu1.setText("员工信息管理");jMenu1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenu1ActionPerformed(evt);}});jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));jMenuItem1.setText("添加员工信息");jMenuItem1.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem1ActionPerformed(evt);}});jMenu1.add(jMenuItem1);jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));jMenuItem2.setText("修改员工信息");jMenuItem2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem2ActionPerformed(evt);}});jMenu1.add(jMenuItem2);jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));jMenuItem3.setText("删除员工信息");jMenuItem3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem3ActionPerformed(evt);}});jMenu1.add(jMenuItem3);jMenuBar1.add(jMenu1);jMenu2.setText("部门信息管理");jMenuItem4.setText("新增部门");jMenuItem4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem4ActionPerformed(evt);}});jMenu2.add(jMenuItem4);jMenuItem5.setText("修改部门信息");jMenuItem5.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem5ActionPerformed(evt);}});jMenu2.add(jMenuItem5);jMenuItem6.setText("删除部门信息");jMenuItem6.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem6ActionPerformed(evt);}});jMenu2.add(jMenuItem6);jMenuBar1.add(jMenu2);jMenu3.setText("员工工资设定");jMenuItem7.setText("工资设定");jMenuItem7.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem7ActionPerformed(evt);}});jMenu3.add(jMenuItem7);jMenuItem8.setText("工资查询");jMenuItem8.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem8ActionPerformed(evt);}});jMenu3.add(jMenuItem8);jMenuItem12.setText("工资一览表");jMenuItem12.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem12ActionPerformed(evt);}});jMenu3.add(jMenuItem12);jMenuBar1.add(jMenu3);jMenu4.setText("系统设置");jMenuItem9.setText("信息统计");jMenuItem9.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem9ActionPerformed(evt);}});jMenu4.add(jMenuItem9);jMenuItem10.setText("修改密码");jMenuItem10.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem10ActionPerformed(evt);}});jMenu4.add(jMenuItem10);jMenuItem13.setText("添加管理员");jMenuItem13.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem13ActionPerformed(evt);}});jMenu4.add(jMenuItem13);jMenuBar1.add(jMenu4);jMenu5.setText("退出系统");jMenu5.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenu5ActionPerformed(evt);}});jMenuItem11.setText("退出本系统");jMenuItem11.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jMenuItem11ActionPerformed(evt);}});jMenu5.add(jMenuItem11);jMenuBar1.add(jMenu5);setJMenuBar(jMenuBar1);javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));pack();}// </editor-fold>//GEN-END:initComponentsprivate void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed// TODO add your handling code here:new AddEmployee().setVisible(true);  }//GEN-LAST:event_jMenuItem1ActionPerformedprivate void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed// TODO add your handling code here:new ModifyEmployee().setVisible(true);}//GEN-LAST:event_jMenuItem2ActionPerformedprivate void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed// TODO add your handling code here:new DeleteEmployee().setVisible(true);}//GEN-LAST:event_jMenuItem3ActionPerformedprivate void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed// TODO add your handling code here:new AddDepartment().setVisible(true);}//GEN-LAST:event_jMenuItem4ActionPerformedprivate void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed// TODO add your handling code here:new ModifyDepartment().setVisible(true);}//GEN-LAST:event_jMenuItem5ActionPerformedprivate void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed// TODO add your handling code here:new DeleteDepartment().setVisible(true);}//GEN-LAST:event_jMenuItem6ActionPerformedprivate void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed// TODO add your handling code here:new SalarySetting().setVisible(true);}//GEN-LAST:event_jMenuItem7ActionPerformedprivate void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed// TODO add your handling code here:new SalarySearch().setVisible(true);}//GEN-LAST:event_jMenuItem8ActionPerformedprivate void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed// TODO add your handling code here:new Statistics().setVisible(true);}//GEN-LAST:event_jMenuItem9ActionPerformedprivate void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed// TODO add your handling code here:new ModifyPassWord().setVisible(true);}//GEN-LAST:event_jMenuItem10ActionPerformedprivate void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed// TODO add your handling code here:int option = JOptionPane.showConfirmDialog(null, "确定要退出本系统?","系统提示",JOptionPane.YES_NO_OPTION);if (option == JOptionPane.YES_OPTION)System.exit(0);elsethis.setDefaultCloseOperation(MainFrame.DO_NOTHING_ON_CLOSE);}//GEN-LAST:event_jMenuItem11ActionPerformedprivate void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed// TODO add your handling code here:new SalaryShow().setVisible(true);}//GEN-LAST:event_jMenuItem12ActionPerformedprivate void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed// TODO add your handling code here:new NewManager().setVisible(true);}//GEN-LAST:event_jMenuItem13ActionPerformedprivate void jMenu5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu5ActionPerformed// TODO add your handling code here:}//GEN-LAST:event_jMenu5ActionPerformedprivate void jPanel1AncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_jPanel1AncestorAdded// TODO add your handling code here:}//GEN-LAST:event_jPanel1AncestorAddedprivate void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed// TODO add your handling code here:}//GEN-LAST:event_jMenu1ActionPerformed/*** @param args the command line arguments*//*public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new MainFrame().setVisible(true);}});}
*/// Variables declaration - do not modify//GEN-BEGIN:variablesprivate javax.swing.JColorChooser jColorChooser1;private javax.swing.JMenu jMenu1;private javax.swing.JMenu jMenu2;private javax.swing.JMenu jMenu3;private javax.swing.JMenu jMenu4;private javax.swing.JMenu jMenu5;private javax.swing.JMenuBar jMenuBar1;private javax.swing.JMenuItem jMenuItem1;private javax.swing.JMenuItem jMenuItem10;private javax.swing.JMenuItem jMenuItem11;private javax.swing.JMenuItem jMenuItem12;private javax.swing.JMenuItem jMenuItem13;private javax.swing.JMenuItem jMenuItem2;private javax.swing.JMenuItem jMenuItem3;private javax.swing.JMenuItem jMenuItem4;private javax.swing.JMenuItem jMenuItem5;private javax.swing.JMenuItem jMenuItem6;private javax.swing.JMenuItem jMenuItem7;private javax.swing.JMenuItem jMenuItem8;private javax.swing.JMenuItem jMenuItem9;private javax.swing.JPanel jPanel1;// End of variables declaration//GEN-END:variables}

项目骨架

登录界面

工资查询

添加员工

工资浏览

工资设定


http://chatgpt.dhexx.cn/article/WyHWgPlC.shtml

相关文章

Java工程师工资水平出炉!真厉害了

Java因为其十分适用于企业级开发的特点&#xff0c;所以一直是国内大厂最主要使用的语言之一&#xff0c;也是应用最广泛的编程语言。 也由于Java主要用于开发企业级应用&#xff0c;市场需求同比其他语言来说会更大一些&#xff0c;自然它的起薪也相对较高&#xff0c;因而很多…

Java培训出来后一般多少工资

学完Java培训出来后一般多少工资呢?这是很多人都比较关心的一个问题&#xff0c;小编在这里告诉大家&#xff0c;java技术这个岗位分为初级、中级和高级&#xff0c;每个等级的工资情况也是不一样&#xff0c;来看看下面的详细介绍。 Java培训出来后一般多少工资?Java程序员薪…

2022上海Java工资收入概览

微信公众号&#xff0c;关注&#xff1a;georgezheng 越来越多的人选择从事IT&#xff0c;接触计算机互联网&#xff0c;除了学习复杂庞大的知识体系&#xff0c;也比较关注各地区Java工资收入&#xff0c;我收集了上海的信息做一次整理&#xff0c;数据来源职友集和平…

Java基础(员工工资管理系统)

项目介绍: 某公司的雇员分为以下若⼲类&#xff1a; SalariedEmployee&#xff1a;拿固定⼯资的员⼯。 HourlyEmployee&#xff1a;按⼩时拿⼯资的员⼯&#xff0c;每⽉⼯作超出160⼩时的部分按照1.5倍⼯资发放 SalesEmployee&#xff1a;销售⼈员&#xff0c;⼯资由⽉销售额和…

2020年5大一线城市Java薪资水平汇总,你还差多少呢?

程序员作为薪资最高的行业之一,一直是很多人转行的热门首选行业。Java程序员又在所有程序员中占比最大, 因此,Java程序员的薪资就能够很好的代表行业的薪资水准。 今天就为大家整理5大热门城市的Java薪资情况,看看你还差多少,你又想拿多少?或者你希望去哪个城市发展呢?…

Redis LRU

一&#xff1a;Redis内存驱逐的几种策略 检测易失数据&#xff08;可能会过期的数据集server.db[i].expires &#xff09; ① volatile-lru&#xff1a;挑选最近最少使用的数据淘汰 ② volatile-lfu&#xff1a;挑选最近使用次数最少的数据淘汰 ③ volatile-ttl&#xff1a…

LRU链表及LRU缓存

注&#xff1a;本文分析基于linux-4.18.0-193.14.2.el8_2内核版本&#xff0c;即CentOS 8.2 1、 关于LRU LRU即Least recently used&#xff0c;也就是最近最少使用&#xff0c;一般用作缓存淘汰上&#xff0c;它的核心思想是——如果一个数据在最近一段时间没有被访问到&…

14.1 LRU链表

在最近几十年操作系统的发展过程中&#xff0c;有很多页面交换算法&#xff0c;其中每个算法都有各自的优点和缺点。linux内核中采用的页面交换算法主要是LRU算法和第二次机会法(second chance)。 LRU链表 LRU是least recently used&#xff08;最近最少使用&#xff09;的缩写…

mysql lru_MySQL · 源码分析 · InnoDB LRU List刷脏改进之路

之前的一篇内核月报MySQL 引擎特性 InnoDB Buffer Pool 中对InnoDB Buffer pool的整体进行了详细的介绍。文章已经提到了LRU List以及刷脏的工作原理。本篇文章着重从MySQL 5.7源码层面对LRU List刷脏的工作原理&#xff0c;以及Percona针对MySQL LRU Flush的一些性能问题所做…

图解LRU算法

目录 一、什么是LRU算法? 二、基于双向链表Map实现LRU算法 1. 用双向链表看成cache缓存, 数据存放在链表上的每个节点上。 2. 用Map记录访问cache的历史, 只要访问了 cache就将节点放置Map里。 3. 图解移动节点和淘汰策略过程 三、完整代码 四、借助LinkedHashMap实现 一…

mysql lru_浅析MySQL的lru链表

一、简述传统的LRU链表 LRU&#xff1a;Least Recently Used 相信大家对LRU链表是不陌生的&#xff0c;它算是一种基础的数据结构吧&#xff0c;而且想必面试时也被问到过什么是LRU链表&#xff0c;甚至是让你手写一个LRU链表。 想必你已经知道了MySQL的Buffer Pool机制以及MyS…

LRU实现算法

转载自&#xff1a;https://www.cnblogs.com/Dhouse/p/8615481.html 四种实现方式 LRU 1.1. 原理 LRU&#xff08;Least recently used&#xff0c;最近最少使用&#xff09;算法根据数据的历史访问记录来进行淘汰数据&#xff0c;其核心思想是“如果数据最近被访问过&#x…

Redis LRU算法

一、配置Redis内存淘汰策略 maxmemory 100mbmaxmemory-policy allkeys-lrumaxmemory-samples 5注意&#xff1a;Redis的LRU算法并非完整的实现&#xff0c;而是近似LRU的算法&#xff0c;详细介绍点击这里 二、LRU实现原理 1、双向链表 哈希表 1、哈希表&#xff1a;查找快&…

LRU链表介绍

文章目录 1. 简介2. LRU 组织 2.1 LRU 链表2.2 LRU Cache2.3 LRU 移动操作 2.3.1 page 加入 LRU2.3.2 其他 LRU 移动操作3. LRU 回收 3.1 LRU 更新3.2 Swappiness3.3 反向映射3.4 代码实现 3.4.1 struct scan_control3.4.2 shrink_node()3.4.3 shrink_list()3.4.4 shrink_acti…

LRU页面回收

内存回收算法总是会在一定的时间将一些内存回收&#xff0c; 内存回收算法是通过LRU链表对page页面进行管理的&#xff0c;对于那些新的页面会将其插入到LRU链表头&#xff0c;回收时将返回LRU链表末尾的元素&#xff0c;代表老化程度最高的页面 基本数据结构 typedef struct…

利用数组实现lru

LRU主要包含两个函数&#xff0c;第一个插入一个页面&#xff0c;第二个获得一个页面 主要思路如下&#xff0c;当插入页面的时候&#xff0c;所有的页面向后移动一个单位&#xff08;若果多出来一个元素舍弃掉&#xff09;&#xff0c;然后把这个页面放到数组首元素 当获得一…

什么是LRU(最近最少使用)算法?

一、什么是LRU&#xff1f; LRU&#xff08;Least Recently Used&#xff09;&#xff0c;最近最少使用。 是一种【内存管理】算法。 LRU算法基于一种假设&#xff1a; 长期不被使用的数据&#xff0c;在未来被用到的几率也不大。因此&#xff0c;当数据所占内存达到一定阈值时…

什么是LRU算法

什么是LRU LRU 英文全称&#xff08;Least recently used&#xff0c;最近最少使用&#xff09;属于典型的内存管理算法。 内存管理的一种页面置换算法&#xff0c;对于在内存中但又不用的数据块&#xff08;内存块&#xff09;叫做LRU&#xff0c;操作系统会根据哪些数据属于…

LRU缓存实现与原理

概念 LRU是 Least Recently Used 的缩写&#xff0c;即最近最少使用页面置换算法&#xff0c;是为虚拟页式存储管理服务的&#xff0c;是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况&#xff0c;只能利用“最近的过去”作为“最近的将来”的近似…

LRU算法的详细介绍与实现

1.背景 LRU&#xff08;least recently used-最近最少使用算法&#xff09;&#xff0c;是一种内存数据淘汰策略&#xff0c;使用常见是当内存不足时&#xff0c;需要淘汰最近最少使用的数据。LRU常用语缓存系统的淘汰策略。 2.LRU原理 LRU最早实在操作系统接触到这个算法的…