今天为大家分享一个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
*/
}