温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaSwing怎么实现酒店管理系统

发布时间:2021-08-21 10:24:53 来源:亿速云 阅读:130 作者:chen 栏目:开发技术

本篇内容介绍了“JavaSwing怎么实现酒店管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

目录
  • 前言:

  • 引言

  • 主要技术和工具:

  • 功能截图:

    • 登录管理:

    • 酒店管理信息:

      • 开房:

      • 退房:

    • 房间信息:

    • 顾客信息:

      • 关键代码:

        • 主入口:

          • 开房入住:

            • 数据库设计:

              • 用户表:

              • 入住信息表:

              • 房间信息表 :


          前言:

          项目是使用Java swing开发,可实现基础数据维护用户登录、系统首页酒店信息管理、主要模块是开房管理、退房管理、房间信息管理、顾客信息管理等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。获取源码

          引言

          在信息高度发达的今天, 酒店业务涉及的各个工作环节已不再仅仅是传统 的住宿、 结算业务,而是更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从客 房的营销即客人的预定开始, 到入住登记直到最后退房结账, 整个过程应该能够体现以 宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简 化各种复杂操作, 在最短时间内完成酒店业务规范操作, 这样才能令旅客舒适难忘。 因 此,采用全新的计算机管理系统, 将成为提高酒店的管理效率, 改善服务水准的手段之 一。系统从满足客户的需求角度出发, 实现了酒店管理的基本流程。 系统的主要功能包 登录、重置、查看 设置等等。用户入住酒店的时候所要等待的时间就会大大的减少, 操作员能够很方便的 对用户信息的登记和对房间状态的的管理, 从而实现了酒店管理系统高效、 准确的特点。

          主要技术和工具:

          eclipse+JDK1.8+Navicat +swing +mysql

          功能截图:

          登录管理:

          用户输入账号密码以及验证码进行登录验证

          JavaSwing怎么实现酒店管理系统

          酒店管理信息:

          开房:

          用户录入开房相关信息、 提交的时候后台会验证数据的数据是否正确、房间是否被占用等情况

          JavaSwing怎么实现酒店管理系统

          退房:

          输入身份证信息和房间号进行验证正确后完成退房

          JavaSwing怎么实现酒店管理系统

          房间信息:

          房间信息管理管理页面可以查看所有的房间信息、房间标准以及状态等、也可以更具房间类型来查询房间信息。

          JavaSwing怎么实现酒店管理系统

          顾客信息:

          JavaSwing怎么实现酒店管理系统

          关键代码:

          主入口:

          public class LoginFrame extends JFrame {
          	private JPanel contentPane;
          	private JTextField textField;
          	private JPasswordField passwordField;
          	private JTextField textField_1;
          	private CaptchaUtils cpt;
          	private BufferedImage image1;
          	private String code;
          	private JLabel label_6;
          	//创建deskservice对象
          	private DeskService deskService=new DeskServiceImpl();
           
          	public static void main(String[] args) {
          		EventQueue.invokeLater(new Runnable() {
          			public void run() {
          				try {
          					LoginFrame frame = new LoginFrame();
          					frame.setVisible(true);
          				} catch (Exception e) {
          					e.printStackTrace();
          				}
          			}
          		});
          	}
          	
          	public LoginFrame() {
          		setBackground(Color.GREEN);
          		setTitle("KING'S  LANDING");
          		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
          		setBounds(500, 250, 624, 524);
           
          		contentPane = new JPanel(){
          	   		 protected void paintComponent(Graphics g){
          				 super.paintComponent(g);
          				 ImageIcon images=new ImageIcon("images/624524.jpg");
          				 g.drawImage(images.getImage(),0,0,null);
          			 }
          		 };	
          		
          		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
          		setContentPane(contentPane);
          		JLabel label_1 = new JLabel("\u7528\u6237\u540D");
          		label_1.setBackground(Color.WHITE);
          		label_1.setForeground(Color.WHITE);
          		label_1.setFont(new Font("微软雅黑", Font.PLAIN, 15));
          		label_1.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/yonghu.png")));
          		textField = new JTextField();
          		textField.setBackground(Color.WHITE);
          		textField.setColumns(10);
          	        label_6=new JLabel();
          	        label_6.addMouseListener(new MouseAdapter() {
          	        	@Override
          	        	public void mouseClicked(MouseEvent e) {
          	        		cpt=new CaptchaUtils();
          	    			//获取画布
          	    			image1=cpt.getBuffImg();
          	    			//获取随机数
          	    			 code=cpt.getCode();
          	    			ImageIcon icon=new ImageIcon(image1,"jpeg");
          	    			label_6.setIcon(icon);
          	        	}
          	        });
           
          			/**
          			 * 验证码
          			 */
          			cpt=new CaptchaUtils();
          			//获取画布
          			image1=cpt.getBuffImg();
          			//获取随机数
          			 code=cpt.getCode();
          			ImageIcon icon=new ImageIcon(image1,"jpeg");
          			label_6.setIcon(icon);
          		
          		JLabel label_2 = new JLabel("\u5BC6\u7801");
          		label_2.setForeground(Color.WHITE);
          		label_2.setFont(new Font("微软雅黑", Font.PLAIN, 15));
          		label_2.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/mima.png")));
          		
          		JButton button = new JButton("\u767B\u5F55");
          		//设置按钮的透明
          		button.setContentAreaFilled(false);
          		//给按钮上的字设置颜色
          		button.setForeground(Color.WHITE);
          		button.setBackground(Color.WHITE);
          		button.setFont(new Font("微软雅黑", Font.PLAIN, 20));
          		button.addMouseListener(new MouseAdapter() {
          			@Override
          			public void mouseClicked(MouseEvent e) {
          				//获取输入的用户名和密码
          				String name=textField.getText();
          				char[]array=passwordField.getPassword();
          				String password=new String(array);
          				System.out.println("name:"+name);
          				System.out.println("password:"+password);
          				//用户输入的验证码
          				String codeFrame=textField_1.getText();
          				if(!(code.equalsIgnoreCase((codeFrame)))){
          					JOptionPane.showMessageDialog(null, "验证码错误,请重新输入!");
          					return;
          				}
          				DeskDaoImpl deskDao=new DeskDaoImpl();
          				Desk desk=new Desk(name,password);
          				int code=deskDao.LoginDesk(desk);
          				//判断是否是管理员登录
          				if(code==1){
          					//登录成功
          					new HomeFrame().setVisible(true);
          					//符合 则跳转到管理员的后台管理界面
          					dispose();
          					return ;
          				}
          				else{
          					boolean bool=deskService.LoginDeskService(desk);
          					if(!bool){
          						JOptionPane.showMessageDialog(null, "账号或密码错误,请重新输入!");
          						return;
          					}
          					//登录成功
          					new HomeFrame().setVisible(true);
          					dispose();
          				}
          		});
          		
          }

          开房入住:

          @Override
          			//开房监听事件
          			public void mouseClicked(MouseEvent e) {
          				//获取输入的房间号
          				int houseId=Integer.parseInt(textField.getText());
          				//获取输入的姓名
          				String name=p_name.getText();
          				//获取输入的年龄
          				int age=Integer.parseInt(p_age.getText());
          				//获取输入的入住天数
          				int day=Integer.parseInt(p_day.getText());
          				//获取输入的身份证号
          				String id=p_id.getText();
          				//获取输入的性别
          				String sex=p_sex.getText();
          				//获取房间类型
          				String type=p_type.getText();
          				//封装到Guest实体中
          				Guest guest=new Guest();
          				guest.setG_roomid(houseId);
          				guest.setG_name(name);
          				guest.setG_age(age);
          				guest.setG_days(day);
          				guest.setG_id(id);
          				guest.setG_sex(sex);
          				//封装到Room实体中
          				Room room=new Room();
          				room.setR_id(houseId);
          				//判断年龄是否合理
          				if(!(age>0&&age<100)){
          					JOptionPane.showMessageDialog(null, "年龄输入不合理,请重新输入!");
          					return;
          				}
          				//判断性别是否合理
          				if(!(sex.equals("男")||sex.equals("女"))){
          					JOptionPane.showMessageDialog(null, "性别只能是男或女,请重新输入!");
          					return;
          				}
          				//入住天数不能小于1
          				if(!(day>0)){
          					JOptionPane.showMessageDialog(null, "入住天数不能小于1天,请重新输入!");
          					return;
          				}
          				boolean bool=rs.OpenRoom(room);
          				if(!bool){
          					//房间已满则开房失败
          					JOptionPane.showMessageDialog(null, "该房间已满,请更换房间!");
          					return;
          				}
          				if(!(type.equals("标准房")||type.equals("套房")||type.equals("双人房")||type.equals("豪华套房"))){
          					JOptionPane.showMessageDialog(null, "输入的信息有误,开房失败!");
          					return;
          				}
          				boolean bool1=gsi.AddGuest(guest);
          				if(bool1){
          					//身份证不符合格式也失败
          					JOptionPane.showMessageDialog(null, "身份证不符合格式,开房失败!");
          					return;
          				}
           
          			}
          		});

          数据库设计:

          用户表:
          CREATE TABLE `NewTable` (
          `d_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT '前台id' ,
          `d_name`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
          `d_password`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '密码' ,
          INDEX `d_id` (`d_id`) USING BTREE 
          )
          ENGINE=InnoDB
          DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
          AUTO_INCREMENT=112
          ROW_FORMAT=COMPACT
          ;
          入住信息表:
          CREATE TABLE `NewTable` (
          `g_roomid`  int(11) NULL DEFAULT NULL COMMENT '房间id' ,
          `g_id`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '顾客编号' ,
          `g_name`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
          `g_sex`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '性别' ,
          `g_age`  int(11) NULL DEFAULT NULL COMMENT '年龄' ,
          `g_days`  int(11) NULL DEFAULT NULL COMMENT '入住天数' ,
          `g_time`  datetime NULL DEFAULT NULL COMMENT '入住日期' 
          )
          ENGINE=InnoDB
          DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
          ROW_FORMAT=COMPACT
          ;
          房间信息表 :
          CREATE TABLE `NewTable` (
          `r_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT 'roo  id' ,
          `r_type`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room 类型' ,
          `r_price`  double NULL DEFAULT NULL COMMENT 'room价格' ,
          `r_local`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room位置' ,
          `r_state`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room状态' ,
          INDEX `r_id` (`r_id`) USING BTREE 
          )
          ENGINE=InnoDB
          DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
          AUTO_INCREMENT=106
          ROW_FORMAT=COMPACT
          ;

          “JavaSwing怎么实现酒店管理系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

          向AI问一下细节

          免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

          AI