Java swing宿舍管理系统,窗体程序,完整源码、下载即可运行 功能强大

今天为大家分享一个java语言编写的宿舍管理系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发,对UI进行写优化,使得界面更加漂亮,更好灵活

主要功能

1 系统登陆:通过校验用户输入的用户名和密码,校验通过进入系统的主界面,否则提示用户名或者密码错,要求用户重新输入

2 房间管理:对房间进行增加、删除、修改等操作

3 学生管理:对学生信息进行日常管理。包括学生的增加、删除、修改

4 学生宿舍入职和退出

5 根据条件查询学生信息

6 根据相关信息查询宿舍信息,和该宿舍的入住情况

实现效果

1 登陆界面

2 主界面

3 修改密码

4 办理住宿

5 房间修改

6 用户信息维护

主要代码

package com.niit.window;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

import com.jtattoo.plaf.mcwin.McWinLookAndFeel;

public class MainWindow extends JFrame implements ActionListener,WindowListener
{

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private LoginPanel mainPanel=null;
    private JPanel panTitle = null;
    private JMenuBar menubar = null;
    private JMenu menuRoom = null;
    private JMenu menuHospice = null;
    private JMenu menuSelect = null;
    private JMenu menuSystem = null;
    private JMenu menuMaintain = null;
   
    private JMenuItem itmRoomTypein = null;
    private JMenuItem itemRoomAlt = null;
    private JMenuItem itemRoomForecast = null;
    private JMenuItem itemChekin = null;
    private JMenuItem itemExchange = null;
    private JMenuItem itemDropout = null;
    private JMenuItem itemRoomSelect = null;
    private JMenuItem itemStudentSelect = null;
    private JMenuItem itemSelectAll = null;
    private JMenuItem itemStudengAlt = null;
    private JMenuItem itemUserAlt = null;
    private JMenuItem itemUserAdd = null;
    private JMenuItem itemUserDel = null;
    private JMenuItem itemWithdraw = null;
    private JMenuItem itemCancel = null;
    private JMenuItem itemRoomDel = null;
    private static String username = null;
    private static String password = null;
    private static int permission = 2;
    private JLabel lblWelcome=null;
    /**
     * This is the default constructor
     */
    public MainWindow(String username, String password, int permission)
    {
        super();
        this.username = username;
        this.password = password;
        this.permission = permission;
        this.addWindowListener(this);
        try {
            UIManager.setLookAndFeel(new McWinLookAndFeel());
        } 
        catch (UnsupportedLookAndFeelException e)
        {
            e.printStackTrace();
        }
        this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize()
    {
        this.setSize(this.getToolkit().getScreenSize());
        this.setResizable(false);
        this.setContentPane(getJContentPane());
        this.setTitle("宿舍管理系统");
        
    }

    
    private JPanel getJContentPane()
    {
        if (jContentPane == null)
        {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getPanTitle(), BorderLayout.NORTH);
            jContentPane.add(getMainPanel(),BorderLayout.CENTER);

        }
        return jContentPane;
    }
    private LoginPanel getMainPanel()
    {
        if(mainPanel==null)
        {
            ImageIcon image=new ImageIcon(this.getClass().getResource("/img/background.jpg"));
            mainPanel=new LoginPanel(image);
            mainPanel.setLayout(null);
            lblWelcome=new JLabel("欢迎使用宿舍管理系统");
            lblWelcome.setFont(new Font("宋体",Font.PLAIN,70));
            lblWelcome.setBounds(300, 50,1000,100);
            mainPanel.add(lblWelcome);
        }
        return mainPanel;
    }

    /**
     * This method initializes panTitle
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getPanTitle()
    {
        if (panTitle == null)
        {
            panTitle = new JPanel();
            panTitle.setLayout(new BorderLayout());
            panTitle.add(getMenubar(), BorderLayout.NORTH);
        }
        return panTitle;
    }

    private JMenuBar getMenubar()
    {
        if (menubar == null)
        {
            menubar = new JMenuBar();
            menubar.add(getMenuRoom());
            menubar.add(getMenuHospice());
            menubar.add(getMenuSelect());
            menubar.add(getMenuMaintain());
            menubar.add(getMenuSystem());

        }
        return menubar;

    }

    private JMenu getMenuRoom()
    {
        if (menuRoom == null)
        {
            menuRoom = new JMenu("房间管理");
            menuRoom.add(getItmRoomTypein());
            menuRoom.add(getItemRoomAlt());
            menuRoom.add(getItemRoomDel());
            menuRoom.add(getItemRoomForecast());
        }
        return menuRoom;

    }

    private JMenu getMenuHospice()
    {
        if (menuHospice == null)
        {
            menuHospice = new JMenu("宿舍管理");
            menuHospice.add(getItemChekin());
            menuHospice.add(getItemExchange());
            menuHospice.add(getItemDropout());
        }
        return menuHospice;
    }

    private JMenu getMenuSelect()
    {
        if (menuSelect == null)
        {
            menuSelect = new JMenu("信息查询");
            menuSelect.add(getItemRoomSelect());
            menuSelect.add(getItemStudentSelect());
            menuSelect.add(getItemSelectAll());

        }
        return menuSelect;
    }

    private JMenu getMenuMaintain()
    {
        if (menuMaintain == null)
        {
            menuMaintain = new JMenu("信息维护");
            menuMaintain.add(getItemStudengAlt());

        }
        return menuMaintain;

    }

    private JMenu getMenuSystem()
    {
        if (menuSystem == null)
        {
            menuSystem = new JMenu("系统管理");
            menuSystem.add(getItemUserAdd());
            menuSystem.add(getItemUserAlt());
            menuSystem.add(getItemUserDel());
            menuSystem.addSeparator();
            menuSystem.add(getItemWithdraw());
            menuSystem.add(getItemCancel());

        }
        return menuSystem;

    }

    /**
     * This method initializes itmTypein
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItmRoomTypein()
    {
        if (itmRoomTypein == null)
        {
            itmRoomTypein = new JMenuItem("房间录入");
            itmRoomTypein.addActionListener(this);
        }
        return itmRoomTypein;
    }

    /**
     * This method initializes itemRoomAlt
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemRoomAlt()
    {
        if (itemRoomAlt == null)
        {
            itemRoomAlt = new JMenuItem("房间修改");
            itemRoomAlt.addActionListener(this);
        }
        return itemRoomAlt;
    }

    /**
     * This method initializes itemRoomForecast
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemRoomForecast()
    {
        if (itemRoomForecast == null)
        {
            itemRoomForecast = new JMenuItem("空房预测");
            itemRoomForecast.addActionListener(this);
        }
        return itemRoomForecast;
    }

    /**
     * This method initializes itemChekin
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemChekin()
    {
        if (itemChekin == null)
        {
            itemChekin = new JMenuItem("办理入住");
            itemChekin.addActionListener(this);
        }
        return itemChekin;
    }

    /**
     * This method initializes itemExchange
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemExchange()
    {
        if (itemExchange == null)
        {
            itemExchange = new JMenuItem("调换宿舍");
            itemExchange.addActionListener(this);
        }
        return itemExchange;
    }

    /**
     * This method initializes itemDropout
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemDropout()
    {
        if (itemDropout == null)
        {
            itemDropout = new JMenuItem("办理退宿");
            itemDropout.addActionListener(this);
        }
        return itemDropout;
    }

    /**
     * This method initializes itemRoomSelect
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemRoomSelect()
    {
        if (itemRoomSelect == null)
        {
            itemRoomSelect = new JMenuItem("房间查询");
            itemRoomSelect.addActionListener(this);
        }
        return itemRoomSelect;
    }

    /**
     * This method initializes itemStudentSelect
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemStudentSelect()
    {
        if (itemStudentSelect == null)
        {
            itemStudentSelect = new JMenuItem("人员查询");
            itemStudentSelect.addActionListener(this);
        }
        return itemStudentSelect;
    }

    /**
     * This method initializes itemSelectAll
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemSelectAll()
    {
        if (itemSelectAll == null)
        {
            itemSelectAll = new JMenuItem("统计信息");
            itemSelectAll.addActionListener(this);
        }
        return itemSelectAll;
    }

    /**
     * This method initializes itemServiceRegister
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemStudengAlt()
    {
        if (itemStudengAlt == null)
        {
            itemStudengAlt = new JMenuItem("学生信息修改");
            itemStudengAlt.addActionListener(this);
        }
        return itemStudengAlt;
    }

    /**
     * This method initializes itemUserAlt
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemUserAlt()
    {
        if (itemUserAlt == null)
        {
            itemUserAlt = new JMenuItem("用户修改");
            itemUserAlt.addActionListener(this);
        }
        return itemUserAlt;
    }

    /**
     * This method initializes itemUserAdd
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemUserAdd()
    {
        if (itemUserAdd == null)
        {
            itemUserAdd = new JMenuItem("用户添加");
            itemUserAdd.addActionListener(this);
            if(permission == 0)
            {
                itemUserAdd.setEnabled(true);
            }
            else
            {
                itemUserAdd.setEnabled(false);
            }
        }
        return itemUserAdd;
    }

    /**
     * This method initializes itemUserDel
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemUserDel()
    {
        if (itemUserDel == null)
        {
            itemUserDel = new JMenuItem("用户删除");
            itemUserDel.addActionListener(this);
            if(permission == 0)
            {
                itemUserDel.setEnabled(true);
            }
            else
            {
                itemUserDel.setEnabled(false);
            }
        }
        return itemUserDel;
    }

    /**
     * This method initializes itemWithdraw
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemWithdraw()
    {
        if (itemWithdraw == null)
        {
            itemWithdraw = new JMenuItem("注销");
            itemWithdraw.addActionListener(this);
        }
        return itemWithdraw;
    }

    /**
     * This method initializes itemCancel
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemCancel()
    {
        if (itemCancel == null)
        {
            itemCancel = new JMenuItem("退出系统");
            itemCancel.addActionListener(this);
        }
        return itemCancel;
    }

    /**
     * This method initializes itemRoomDel
     * 
     * @return javax.swing.JMenuItem
     */
    private JMenuItem getItemRoomDel()
    {
        if (itemRoomDel == null)
        {
            itemRoomDel = new JMenuItem();
            itemRoomDel.setText("房间删除");
            itemRoomDel.addActionListener(this);
        }
        return itemRoomDel;
    }


    @Override
    public void actionPerformed(ActionEvent e)
    {
        
        if (e.getSource() == itemRoomDel)
        {
            DioRoomDel dio = new  DioRoomDel(this);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemExchange)
        {
            DioExchange dio = new DioExchange(this);
            dio.setVisible(true);
            dio.setModal(true);
        }

        if (e.getSource() == itemRoomSelect)
        {
            DioRoomSelect dio = new DioRoomSelect(this);
            dio.setVisible(true);
            dio.setModal(true);
        }

        if (e.getSource() == itemStudentSelect)
        {
            DioStudentSelect dio = new DioStudentSelect(this);
            dio.setVisible(true);
            dio.setModal(true);
        }
        if (e.getSource() == itmRoomTypein)

        {
            DioRoomAdd dio = new DioRoomAdd(this);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemStudengAlt)
        {
            DioStudentAlt dio = new DioStudentAlt(this);
            dio.setVisible(true);
            dio.setModal(true);
        }
        if (e.getSource() == itemDropout)
        {
            DioDropout dio = new DioDropout(this);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemUserAdd)
        {
            DioUserAdd dio = new DioUserAdd(this);
            dio.setModal(true);
            dio.setVisible(true);
        }

        if (e.getSource() == itemUserAlt)
        {
            DioUserAlt dio = new DioUserAlt(this, username);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemSelectAll)
        {
            DioSelectAll dio = new DioSelectAll(this);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemRoomForecast)
        {
            DioRoomForcast dio = new DioRoomForcast(this);
            dio.setVisible(true);
        
        }
        if (e.getSource() == itemChekin)
        {
            DioCheckin dio = new DioCheckin(this);
            dio.setModal(true);
            dio.setVisible(true);
        }
        if (e.getSource() == itemWithdraw)
        {
            this.setVisible(false);
            this.dispose();
            Login login=new Login();
            username = null;
            password = null;
            permission = 2;
        }
        if (e.getSource() == itemCancel)
        {
            int i =JOptionPane.showConfirmDialog(this, "确认退出?", "退出系统", JOptionPane.OK_CANCEL_OPTION);
            if(i==0)
            {    
            this.setVisible(false);
            this.dispose();
            }
            else
            {
                return;
            }
        }
        if(e.getSource() == itemRoomAlt)
        {
            DioRoomAlt dio = new DioRoomAlt(this);
            dio.setVisible(true);
            dio.setModal(true);
        }
        if(e.getSource() == itemUserDel)
        {
            DioUserDel dio = new DioUserDel(this);
            dio.setVisible(true);
            dio.setModal(true);
        }
    }

    @Override
    public void windowOpened(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void windowClosing(WindowEvent e)
    {
        // TODO Auto-generated method stub
        exitMethod();
    }
    private void exitMethod()
    {
            int temp = JOptionPane.showConfirmDialog(this, "确定退出?","退出系统", JOptionPane.OK_CANCEL_OPTION);
            if (temp == JOptionPane.OK_OPTION)
            {
                this.dispose();
            }
            else
            {
                return;
            }
    }

    @Override
    public void windowClosed(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void windowIconified(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void windowDeiconified(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void windowActivated(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void windowDeactivated(WindowEvent e)
    {
        // TODO Auto-generated method stub
        
    }

    /**
     * This method initializes menuAssets
     * 
     * @return javax.swing.JMenu
     */

}
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
信息的网络化和商业经济的高效化促使计算机深入到现实生活中的各行各业,计算机的工作效率更是传统的手工操作的成几何倍数,在信息科技的冲击下,几乎所有的行业都在使用计算机代替手工工作,大量的节省了人力物力财力,大大提高了工作效率,同时带来更多的经济效益。与此不想对应的是,学校作为科学技术的传播者,却并没有好好的利用信息科技,特别是学生宿舍,大多数学校目前还停留在需要宿舍管理员手工记录一些信息的低效率阶段,对于一所每年培育无数学子的学校来说,学生信息量实在是太过庞大,如果想要把一届届的学生记录在案,不能通过手工的方式,这种方式不仅工作效率低,浪费大量的时间,需要大量的资源,并且这种管理往往是不稳定,不安全的,也许宿舍管理员的一个不小心,就有不法分子潜入宿舍,也许记录在册的学生信息因为一次涨潮全部变为废纸。 在这样的前提条件下,我们设计了一套完整宿舍管理系统,对学生的管理计算机化、规模化。利用数据库具有稳定性、安全性高、运行速度快等优点,由管理员将学生信息输入到数据库,这样的数据安全、永久、稳定、存储数据量巨大、可扩展性强,并且能够很快的查询,修改,删除学生记录等。宿舍管理员只需要掌握简单的计算机基础和熟练掌握软件环境,就可以上岗工作,入门需求低。 二、 建设目标 通过简单的数据库的应用,对学校学生进行格式化、规模化管理,加强学校宿舍管理效率,加强学校宿舍的安全管理,加强学校对学生的约束高度。学校通过宿舍管理系统能够实时掌握学生动态,更好的制定和完善出宿舍管理意见和规章,管理员通过学生信息管理系统,可以随时随地的接收学生的需求,并把需求分类传递给相关部门。 三、 系统的主要功能 本系统主要由门禁机、宿舍管理员模块和学生模块3部分组成 3.1 楼栋闸机模块 在本模块中,学生需要通过校园卡刷卡的方式进入宿舍,同时也是学生正常出入宿舍的唯一方式,如果校园卡遗失,需要在用身份证宿舍管理员处进行登记,经过同意后才能进入宿舍 3.1.11 学生验证 学生刷卡进出时,闸机会获取校园卡的信息,判断该学生是否属于该楼栋,如果验证成功,者允许通过,验证不成功,则不允许通过,提示学生重新刷卡。学生在多次验证不成功的情况下,可以向管理员申请。 3.1.12 学生信息管理 闸机需要记录每个学生每天的出入信息,对于24小时未刷卡进入宿舍的学生记录在数据库,同时把消息提醒给管理员,管理员通过一定的整理后把消息发送给学生的辅导员,同时闸机监控这位学生的下次进入时间,把消息传递给管理员进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机程序

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

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

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

打赏作者

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

抵扣说明:

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

余额充值