Java GUI 实现工资管理系统

这篇具有很好参考价值的文章主要介绍了Java GUI 实现工资管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

工资管理系统(Java+javaswing+JDBC实现),使用mysql存储数据。

主要的要求如下:

建立职工工资管理系统,要求实现职工基本信息管理(编号、姓名、性别、初始年月、工资等级等)、工资等级情况管理(工资等级、基本工资、岗位工资、交通补贴等)、每月职工变动工资管理(职工编号、月份、奖励工资、扣款等),并根据职工的工资等级以及每月职工的变动工资情况自动生成每月职工的工资信息,并实现对员工工资的排序输出等操作。

花了一周的时间和我的小伙伴终于完成了Java的课设,下面来展示一下我们部分功能吧,有些界面可能尚未完善。


首先看看我们的工资管理系统功能模块结构图设计:

java gui管理系统,Java,java,数据库,开发语言
再瞅瞅我们的设计类图:
java gui管理系统,Java,java,数据库,开发语言

enmm,接下来进入正题,来看看我们的登录界面吧:
java gui管理系统,Java,java,数据库,开发语言


我们的用户名和密码都是admin,当输入错误时会显示如下:
java gui管理系统,Java,java,数据库,开发语言
那么再看看我们是如何实现这个登录界面的吧,首先我们使用的是Java swing组件,首先我们设置了一个蓝色的左面板,中间有白色的名字,然后对组件进行排版设置样式


那么接下来再看看我们的我们的主页面吧,就是一个仪表盘哈哈哈
java gui管理系统,Java,java,数据库,开发语言
我们导航栏中有四个按钮,员工管理的如下
java gui管理系统,Java,java,数据库,开发语言
汇总查询具有四个功能,可以查看所有部门员工的工资等级,以一张表的形式展现出来,汇总查询的如下:
java gui管理系统,Java,java,数据库,开发语言


好啦,咋门进入正题,对员工等级进行新增操作:
java gui管理系统,Java,java,数据库,开发语言
好的,你选择了技术人员,对技术人员工资等级进行操作,界面有点丑陋,哈哈
java gui管理系统,Java,java,数据库,开发语言
再瞅瞅我们修改工资等级页面
java gui管理系统,Java,java,数据库,开发语言
你选择了技术部的一级,并且对它进行修改,如下:
java gui管理系统,Java,java,数据库,开发语言
对于删除界面,首先要选择部门,然后选择你需要删除的部门的工资等级,然后点击确认即可删除
java gui管理系统,Java,java,数据库,开发语言


查询工资等级功能,选择岗位部门,然后选择工资等级即可跳转出来我们需查询的内容。
样例如下:
java gui管理系统,Java,java,数据库,开发语言

然后看看我们总的工资等级吧,这里就展示技术人员的工资等级吧

java gui管理系统,Java,java,数据库,开发语言
对于修改工资变动这,我们首先查找一下数据库中有没有该工号的员工,如果不存在该工号,就会跳出弹窗提醒不存在该员工提醒用户
java gui管理系统,Java,java,数据库,开发语言

java gui管理系统,Java,java,数据库,开发语言


最后来使用一下我们的汇总查询
点击汇总查询生成本月的所有员工的工资信息,并且对总工资进行一个降序排列进行展示在一张表中

java gui管理系统,Java,java,数据库,开发语言
java gui管理系统,Java,java,数据库,开发语言

这里大概展示这些基本功能,能力有限,做的比较的粗糙,哈哈哈
下面展示一下登录界面如何实现,后期会将整个放在GitHub上文章来源地址https://www.toymoban.com/news/detail-766298.html

package bwc04.view;


import bwc04.tools.border.Borders;
import bwc04.tools.color.Colour;
import bwc04.tools.font.Fonts;
import bwc04.tools.image.Images;
import bwc04.tools.placeholder.Placeholder;
import bwc04.tools.view.View;

import javax.swing.*;
import java.awt.*;

/**
 * 登录窗体
 * @author KSamer
 * @version 1.0
 */
public class LoginView extends JFrame {

    /**
     * 标题信息
     */
    private String subTitle = "工资管理系统-登录";

    /**
     * 组件信息
     */
    private String loginButtonText = "登录";

    /**
     * 提示文本信息
     */
    private String usernamePlaceholder = "用户名";
    private String passwordPlaceholder = "密码";
    private String emptyUsernameText = "请输入用户名";
    private String emptyPasswordText = "请输入密码";
    private String errorText = "用户名或密码错误";

    /**
     * 标签
     */
    private JLabel titleLabel = new JLabel();
    private JLabel loginTitleLabel = new JLabel();
    private JLabel loginMessageLabel = new JLabel();

    /**
     * 按钮
     */
    private JButton closeButton = new JButton();
    private JButton loginButton = new JButton();

    /**
     * 输入框
     */
    private JTextField usernameField = new JTextField();
    private JPasswordField passwordField = new JPasswordField();

    /**
     * 面板
     */
    private JPanel leftPanel = new JPanel();
    private JPanel rightPanel = new JPanel();


    /**
     * 登录窗体
     * @param title 登录窗体标题
     */
    public LoginView(String title) {

        // 关闭按钮
        closeButton.setIcon(Images.closeButtonIcon);
        closeButton.setRolloverIcon(Images.closeButtonHoverIcon);
        closeButton.setBounds(660, 20, 20, 20);
        closeButton.setOpaque(false);
        closeButton.setContentAreaFilled(false);
        closeButton.setFocusPainted(false);
        closeButton.setBorder(null);
        closeButton.addActionListener(e -> System.exit(0));

        // 左面板标题
        titleLabel.setText(title);
        titleLabel.setBounds(0, 220, 350, 30);
        titleLabel.setFont(Fonts.title);
        titleLabel.setForeground(Color.WHITE);
        titleLabel.setHorizontalAlignment(SwingConstants.CENTER);

        // 左面板
        leftPanel.setLayout(null);
        leftPanel.setBounds(0, 0, 350, 500);
        leftPanel.setBackground(Colour.C3C8CE7);
        leftPanel.add(titleLabel);

        // 右面板标题
        loginTitleLabel.setText(subTitle);
        loginTitleLabel.setBounds(0, 120, 350, 30);
        loginTitleLabel.setFont(Fonts.title);
        loginTitleLabel.setHorizontalAlignment(SwingConstants.CENTER);

        // 用户名输入框
        usernameField.setBounds(55, 200, 240, 36);
        usernameField.setBorder(Borders.textFiledBorder);
        usernameField.setHorizontalAlignment(SwingConstants.CENTER);
        usernameField.setFont(Fonts.textField);
        usernameField.addFocusListener(Placeholder.focusListener(usernameField, usernamePlaceholder));
        Placeholder.setPlaceholder(usernameField, usernamePlaceholder, Color.LIGHT_GRAY);

        // 密码输入框
        Placeholder.setPlaceholder(passwordField, passwordPlaceholder, Color.LIGHT_GRAY);
        passwordField.setEchoChar('\0');
        passwordField.setBounds(55, 260, 240, 36);
        passwordField.setBorder(Borders.textFiledBorder);
        passwordField.setHorizontalAlignment(SwingConstants.CENTER);
        passwordField.setFont((Fonts.textField));
        passwordField.addFocusListener(Placeholder.focusListener(passwordField, passwordPlaceholder));

        // 登录按钮
        loginButton.setText(loginButtonText);
        loginButton.setBounds(55, 320, 240, 36);
        loginButton.setForeground(Color.WHITE);
        loginButton.setFont(Fonts.button);
        loginButton.setBackground(Colour.C3C8CE7);
        loginButton.setFocusPainted(false);
        loginButton.setBorder(null);
        loginButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        loginButton.addActionListener(e -> login());

        // 登录信息
        loginMessageLabel.setBounds(55, 380, 240, 24);
        loginMessageLabel.setHorizontalAlignment(SwingConstants.CENTER);
        loginMessageLabel.setForeground(Color.RED);
        loginMessageLabel.setFont(Fonts.loginMessage);

        // 右面板
        rightPanel.setLayout(null);
        rightPanel.setBounds(350, 0, 350, 500);
        rightPanel.setBackground(Color.WHITE);
        rightPanel.add(loginTitleLabel);
        rightPanel.add(usernameField);
        rightPanel.add(passwordField);
        rightPanel.add(loginButton);
        rightPanel.add(loginMessageLabel);

        // 添加组件
        add(closeButton);
        add(leftPanel);
        add(rightPanel);

        // 设置标题
        setTitle(title);
        // 设置大小
        setSize(700, 500);
        // 设置窗体默认关闭方式
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗体不可编辑
        setResizable(false);
        // 设置窗体无边框
        setUndecorated(true);
        // 设置窗体布局
        setLayout(null);
        // 设置窗口焦点
        setFocusable(true);
        // 设置窗体是否可见
        setVisible(true);
        // 设置窗体居中
        setLocationRelativeTo(null);
        // 设置窗体图标
        setIconImage(Images.systemImage);
        // 设置窗体无边框移动
        View.setMoveFrame(this);
    }

    /**
     * 登录事件
     */
    public void login() {
        String username = usernameField.getText();
        String password = new String(passwordField.getPassword());

        if ("".equals(username) || usernamePlaceholder.equals(username)) {
            loginMessageLabel.setText(emptyUsernameText);
        }
        else if ("".equals(password) || passwordPlaceholder.equals(password)) {
            loginMessageLabel.setText(emptyPasswordText);
        }
        else {
            int result = new LoginController().login(username, password);

            if (result == 1) {
                new AdminView();
                dispose();
            }
            else {
                loginMessageLabel.setText(errorText);
            }
        }
    }

}

到了这里,关于Java GUI 实现工资管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学生成绩管理系统(JAVA_GUI+Mysql)

    提示:该系统是基于Java界面编程+mysql的 源码在这里,需要的自取 SAMS分享包 提取码: 49ji SAMS学生成绩管理系统功能展示 IDEA开发工具 Java界面编程 jdk1.8 mysql8.0.26 Druid数据连接池 MVC三层架构模型 exe4j可执行文件生成工具(将jar包变成可运行的exe程序) 三层架构简单介绍: 三层

    2024年02月06日
    浏览(49)
  • JAVA+GUI界面+MysSQL的学生信息管理系统

    本文将介绍如何使用Java Swing GUI库和MySQL数据库来编写一个简单的学生信息管理系统,同时也将讲解GUI的基本布局、事件处理和MySQL数据库的连接、数据操作等知识。编写java和sql语句需要安装 JDK 和 MySQL 数据库。 首先是 系统登录界面 ,用户选择账号类型(教师账号、学生账号

    2024年02月04日
    浏览(46)
  • 图书馆管理系统【GUI/Swing+MySQL】(Java课设)

    Swing窗口类型+Mysql数据库存储数据 适合作为Java课设!!! jdk1.8+Mysql8.0+Idea或eclipse+jdbc  本系统源码地址:https://download.csdn.net/download/qq_50954361/87682509 更多Java课设系统:更多Java课设系统 更多Java课设系统运行效果展示:更多Java课设系统运行效果展示  部署教程地址:Java课设部

    2023年04月19日
    浏览(48)
  • Java学生信息管理系统(Swing<GUI>+JDBC<MySQL>)

    本文有借鉴别人的代码,但是也是自己理解之后写出来的,文中有注释,并且有个别文件也用红框和黄字体讲解,并且能解决其他文件90%看不懂的问题,如果还是看不懂清留言,源码在文章末尾,附上了全部代码,这个注册系统比较简陋,供大家学习参考。 ** 这是一个简单的

    2024年02月09日
    浏览(60)
  • Java基于MVC的学生成绩管理系统(mysql+GUI)

    目录   一、实验目的及要求 二、实验内容 三、结果展示 四、源代码 1 .  实验要求:管理系统采用MVC结构,实验前对可能出现的数据库连接、事件响应等问题预先分析,确定调试步骤和测试方法,编写源程序,实现可行的应用程序,尽可能考虑程序的健壮性,对实验中出现

    2024年02月06日
    浏览(45)
  • 洗浴中心管理系统【GUI/Swing+MySQL】(Java课设)

    Swing窗口类型+Mysql数据库存储数据 适合作为Java课设!!! jdk1.8+Mysql8.0+Idea或eclipse+jdbc  本系统源码地址:https://download.csdn.net/download/qq_50954361/87684292 更多Java课设系统:更多Java课设系统 更多Java课设系统运行效果展示:更多Java课设系统运行效果展示  部署教程地址:Java课设部

    2023年04月15日
    浏览(58)
  • 图书信息管理系统(JAVA版)连接MySQL数据库+GUI

    本次项目是实现的一个图书信息管理系统,功能算不上太多,但也比较齐全。 随着社会的发展,人们对知识的需求也在不断增长。书籍作为人们获取并增长知识的主要途径,使得书城,书店在人们的生活中占有了一定的位置。但是近几年,随着书量的不断增长,造成了图书挤

    2024年02月04日
    浏览(52)
  • 面向对象程序设计(Java)课程设计——学生信息管理系统(GUI+文件)

    一、团队成员及任务 组长:宗庆亮  计科(智能)22-1  202203200021 负责模块:静态登录界面实现以及学生信息系统管理界面的创建 组员:郑金洲  计科(智能)22-1  202203200022 负责模块:增加,删除,修改以及查询功能的实现 团队博客:面向对象程序设计(Java)课程设计——学生

    2024年02月03日
    浏览(56)
  • 《校园宿舍管理系统》之数据库程序设计/GUI/java/eclipse/MySQL/JDBC

    讲解视频链接:私信发! 源码:私信! 设计题目:          校园宿舍管理系统         班    级:                                               组    号:                  第一组                   成    员:                                

    2024年02月05日
    浏览(55)
  • 通用工资管理系统--SQL server课程设计(Java实现+SQL server)

    本科参与项目文档合集: 点击跳转~ General payroll management system 设计题目:通用工资管理系统 专 业:计算机科学与技术 班 级: 19级1班 设 计 人: 安** 指导老师: 刘** 日 期:2021年06月30日 1.1开发环境 数据库系统:Microsoft SQL Server 2019 开发语言:JAVA 数据库连接方式:JDBC连接方

    2024年02月03日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包