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
     */

}