基于Java swing+mysql+eclipse的【酒店管理系统】

本项目为前几天做的一个项目,Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。

一、效果演示

主要功能:

1.会员用户功能分析

(1)预定管理。会员可以对房间进行预定,可查询房间类型,若有空闲房间,则可接受预定,需要登记姓名、性别、身份证号、联系方式、入住天数;否则,则不接受预定。

(2)切换账号。会员可以进行账号的切换。

(3)安全退出。会员可以退出登入。

 

2.管理员用户功能分析

(1)入住管理。每当有客人需要入住时进行办理程序。工作人员需要记录客人的姓名、性别、身份证号、联系方式、入住天数等。若办理入住的房间不为空则不允许办理入住。

(2)顾客信息查询。工作人员可以对已入住的顾客进行信息查询。需要支持精准查询,如通过身份证号、通过联系方式查询。

(3)退房管理。当客户退房时进行退房办理。工作人员需要记录入住人的身份证号、入住房间信息。若退房的房间为空,则不允许办理;否则,办理退房并且得到收款金额。

(4)预定管理。 管理员可以对预定房间信息进行查询,可查询预定顾客的身份证号、联系方式等,若有预定则允许预定入住;否则,不允许预定入住。

(5)房间信息管理。 管理员可以更改房间信息,如房间类型、价格、增加房间、删除房间等。

(6)切换账号。管理员可以进行账号的切换。

(7)安全退出。管理员可以退出登入。

 

    • 登录界面
b91d95d5ff7041353414a3c27a5060d9.png

 

    • 注册界面
562f989e973ccf4be116a88982259c6c.png

 

    • 管理员界面
8c10f744c06119e04a129f16e2368e64.png

3.1入住管理

0f4e292043dd5dee60cffaaf6fbbc56c.png

3.2退房管理

0d744af21fd7e954b6c7c2931bc8292a.png

3.3房间管理

09648692948713314f9fd63d6a765c09.png
513dbcaeb25683d9d0140552d0744ef9.png

3.4顾客管理

f033a71a8865398cf16dfc98e9ceab12.png

3.5预定管理

aa4922444cd3a05a54143acbc677a99e.png

4会员界面

456a52d2be6d64125a1edb4a0c60483a.png

部分代码

import java.awt.EventQueue;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

import com.yym.Util.DbUtil;
import com.yym.dao.RoomDao;
import com.yym.model.Room;

import javax.swing.JMenuBar;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;

import javax.swing.JMenu;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;

import java.awt.Font;


import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.JDesktopPane;

import javax.swing.JToolBar;

import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.sql.Connection;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class AdminMainFrame2 extends JFrame {

    private JPanel contentPane;
    private    JDesktopPane desktopPane;
    private JSplitPane splitPane;
    private RoomDao roomDao=new RoomDao();
    private DbUtil dbUtil=new DbUtil();
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    AdminMainFrame2 frame = new AdminMainFrame2();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public AdminMainFrame2() {
        setTitle("酒店管理系统");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 1242, 827);
        
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(new BorderLayout(0, 0));
       
       
        
        JMenu mnNewMenu = new JMenu("设置");
        mnNewMenu.setFont(new Font("黑体", Font.PLAIN, 21));
        mnNewMenu.setIcon(new ImageIcon(AdminMainFrame2.class.getResource("/com/yym/image/3.1 设置.png")));
        menuBar.add(mnNewMenu);
        
        JMenuItem mntmNewMenuItem = new JMenuItem("切 换 账 号");
        mntmNewMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int n=JOptionPane.showConfirmDialog(null, "是否切换账号?");
                if(n==0) {
                    dispose();
                    new LoginFrame().setVisible(true);
                }
            }
        });
        mntmNewMenuItem.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 16));
        mntmNewMenuItem.setIcon(new ImageIcon(AdminMainFrame2.class.getResource("/com/yym/image/切换账号.png")));
        mnNewMenu.add(mntmNewMenuItem);
        
        JMenuItem mntmNewMenuItem_1 = new JMenuItem("退 出 系 统");
        mntmNewMenuItem_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int n=JOptionPane.showConfirmDialog(null, "是否退出系统?");
                if(n==0) {
                    dispose();
                }
            }
        });
        mntmNewMenuItem_1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 15));
        mntmNewMenuItem_1.setIcon(new ImageIcon(AdminMainFrame2.class.getResource("/com/yym/image/退出,出.png")));
        mnNewMenu.add(mntmNewMenuItem_1);
   
     
        desktopPane = new JDesktopPane();
        contentPane.add(desktopPane, BorderLayout.CENTER);
        
        JToolBar toolBar = new JToolBar();
        getContentPane().addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent e) {
                int Width=e.getComponent().getWidth();
                toolBar.setBounds(0, 0, Width, 46);
            }
        });
       
       
        toolBar.setFloatable(false);
       // toolBar.setBounds(0, 0, 1486, 46);
        desktopPane.add(toolBar);
        
        JButton btnNewButton = new JButton("入住管理");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                IntoRoomActionPerformed( e);
            }
        });
        btnNewButton.setFont(new Font("黑体", Font.PLAIN, 26));
        toolBar.add(btnNewButton);
        toolBar.addSeparator(new Dimension(20, 0));// 添加指定大小的分隔符
        
        JButton btnNewButton1 = new JButton("退房管理");
        btnNewButton1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                OutRoomActionPerformed( e);
            }
        });
        btnNewButton1.setFont(new Font("黑体", Font.PLAIN, 26));
        toolBar.add(btnNewButton1);
        toolBar.addSeparator(new Dimension(20, 0));
          
        JButton btnNewButton3 = new JButton("顾客管理");
        btnNewButton3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                CustomManagerActionPerformed( e);
            }
        });
        btnNewButton3.setFont(new Font("黑体", Font.PLAIN, 26));
        toolBar.add(btnNewButton3);
        toolBar.addSeparator(new Dimension(20, 0));
        
        JButton btnNewButton4 = new JButton("房间管理");
        btnNewButton4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                RoomManageActionPerformed( e);
            }
        });
        btnNewButton4.setFont(new Font("黑体", Font.PLAIN, 26));
        toolBar.add(btnNewButton4);
        toolBar.addSeparator(new Dimension(20, 0));
        
        JButton btnNewButton5 = new JButton("预定管理");
        btnNewButton5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                BookingActionPerformed(e);
            }
        });
        btnNewButton5.setFont(new Font("黑体", Font.PLAIN, 26));
        toolBar.add(btnNewButton5);
        toolBar.addSeparator(new Dimension(20, 0));
        
    
        
        splitPane = new JSplitPane();
        //splitPane.setBounds(0, 56, 1208, 676);
        getContentPane().addComponentListener(new ComponentAdapter() {
        @Override
        public void componentResized(ComponentEvent e) {
            int Width=e.getComponent().getWidth();
            int Height=e.getComponent().getHeight();
            splitPane.setBounds(0, 46, Width,Height );
        }
    });
       ;
        splitPane.setDividerLocation(0);
        splitPane.setEnabled(false);
        splitPane.setDividerSize(7);
        desktopPane.add(splitPane);
      
    }

    private void BookingActionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        splitPane.setDividerLocation(0);
        splitPane.setEnabled(false);
        BookingManagerFrame booking=new BookingManagerFrame();
        booking.setVisible(true);
        splitPane.setRightComponent(booking);
    }

    private void CustomManagerActionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        splitPane.setDividerLocation(0);
        splitPane.setEnabled(false);
        CustomManagerFrame customManager=new CustomManagerFrame();
        customManager.setVisible(true);
        splitPane.setRightComponent(customManager);
        
        
    }

    private void OutRoomActionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        splitPane.setDividerLocation(0);
        splitPane.setEnabled(false);
        OutRoomJPanel outroom=new OutRoomJPanel();
         splitPane.setRightComponent(outroom);
    }

    private void IntoRoomActionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
        splitPane.setDividerLocation(400);
        splitPane.setEnabled(false);
        RoomIntoFrame roominto=new RoomIntoFrame();
         CustomJPanel panel=roominto.customJpanel;
         splitPane.setLeftComponent(panel);
        
        roominto.setVisible(true);
        
        splitPane.setRightComponent(roominto);
       
    }

    private void RoomManageActionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        JPanel panel = new JPanel();
        splitPane.setLeftComponent(panel);
        JPanel panel_1 = new JPanel();

        splitPane.setRightComponent(panel_1);
        JButton btnNewButton_1 = new JButton("添加房间");
        
        btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 25));
        btnNewButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                RoomAddFrame roomadd=new RoomAddFrame();
                roomadd.setVisible(true);
                               splitPane.setRightComponent(roomadd);
            }
        });
       
        
        
        JButton btnNewButton_1_1 = new JButton("修改房间");
        btnNewButton_1_1.setFont(new Font("宋体", Font.PLAIN, 25));
        GroupLayout gl_panel = new GroupLayout(panel);
        gl_panel.setHorizontalGroup(
            gl_panel.createParallelGroup(Alignment.LEADING)
                .addComponent(btnNewButton_1)
                .addComponent(btnNewButton_1_1)
        );
        gl_panel.setVerticalGroup(
            gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                    .addGap(5)
                    .addComponent(btnNewButton_1)
                    .addGap(5)
                    .addComponent(btnNewButton_1_1))
        );
        panel.setLayout(gl_panel);
        btnNewButton_1_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                RoomReviseFrame room=new RoomReviseFrame();
                room.setVisible(true);
                splitPane.setRightComponent(room);
            }
        });
    }
}

其他代码

有需要全部代码+数据库的可以私信作者,有偿哦~

 

 

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值