溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

發(fā)布時(shí)間:2021-08-21 10:24:53 來(lái)源:億速云 閱讀:143 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

目錄
  • 前言:

  • 引言

  • 主要技術(shù)和工具:

  • 功能截圖:

    • 登錄管理:

    • 酒店管理信息:

      • 開房:

      • 退房:

    • 房間信息:

    • 顧客信息:

      • 關(guān)鍵代碼:

        • 主入口:

          • 開房入住:

            • 數(shù)據(jù)庫(kù)設(shè)計(jì):

              • 用戶表:

              • 入住信息表:

              • 房間信息表 :


          前言:

          項(xiàng)目是使用Java swing開發(fā),可實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)維護(hù)用戶登錄、系統(tǒng)首頁(yè)酒店信息管理、主要模塊是開房管理、退房管理、房間信息管理、顧客信息管理等功能。界面設(shè)計(jì)比較簡(jiǎn)介、適合作為Java課設(shè)設(shè)計(jì)以及學(xué)習(xí)技術(shù)使用。獲取源碼

          引言

          在信息高度發(fā)達(dá)的今天, 酒店業(yè)務(wù)涉及的各個(gè)工作環(huán)節(jié)已不再僅僅是傳統(tǒng) 的住宿、 結(jié)算業(yè)務(wù),而是更廣、更全面的服務(wù)性行業(yè)代表。酒店賓館作為一個(gè)服務(wù)性行業(yè),從客 房的營(yíng)銷即客人的預(yù)定開始, 到入住登記直到最后退房結(jié)賬, 整個(gè)過(guò)程應(yīng)該能夠體現(xiàn)以 賓客為中心,提供快捷方便服務(wù),給賓客感受一種顧客至上的享受,提高管理水平,簡(jiǎn) 化各種復(fù)雜操作, 在最短時(shí)間內(nèi)完成酒店業(yè)務(wù)規(guī)范操作, 這樣才能令旅客舒適難忘。 因 此,采用全新的計(jì)算機(jī)管理系統(tǒng), 將成為提高酒店的管理效率, 改善服務(wù)水準(zhǔn)的手段之 一。系統(tǒng)從滿足客戶的需求角度出發(fā), 實(shí)現(xiàn)了酒店管理的基本流程。 系統(tǒng)的主要功能包 登錄、重置、查看 設(shè)置等等。用戶入住酒店的時(shí)候所要等待的時(shí)間就會(huì)大大的減少, 操作員能夠很方便的 對(duì)用戶信息的登記和對(duì)房間狀態(tài)的的管理, 從而實(shí)現(xiàn)了酒店管理系統(tǒng)高效、 準(zhǔn)確的特點(diǎn)。

          主要技術(shù)和工具:

          eclipse+JDK1.8+Navicat +swing +mysql

          功能截圖:

          登錄管理:

          用戶輸入賬號(hào)密碼以及驗(yàn)證碼進(jìn)行登錄驗(yàn)證

          JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

          酒店管理信息:

          開房:

          用戶錄入開房相關(guān)信息、 提交的時(shí)候后臺(tái)會(huì)驗(yàn)證數(shù)據(jù)的數(shù)據(jù)是否正確、房間是否被占用等情況

          JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

          退房:

          輸入身份證信息和房間號(hào)進(jìn)行驗(yàn)證正確后完成退房

          JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

          房間信息:

          房間信息管理管理頁(yè)面可以查看所有的房間信息、房間標(biāo)準(zhǔn)以及狀態(tài)等、也可以更具房間類型來(lái)查詢房間信息。

          JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

          顧客信息:

          JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)

          關(guān)鍵代碼:

          主入口:

          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;
          	//創(chuàng)建deskservice對(duì)象
          	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();
          	    			//獲取隨機(jī)數(shù)
          	    			 code=cpt.getCode();
          	    			ImageIcon icon=new ImageIcon(image1,"jpeg");
          	    			label_6.setIcon(icon);
          	        	}
          	        });
           
          			/**
          			 * 驗(yàn)證碼
          			 */
          			cpt=new CaptchaUtils();
          			//獲取畫布
          			image1=cpt.getBuffImg();
          			//獲取隨機(jī)數(shù)
          			 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");
          		//設(shè)置按鈕的透明
          		button.setContentAreaFilled(false);
          		//給按鈕上的字設(shè)置顏色
          		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);
          				//用戶輸入的驗(yàn)證碼
          				String codeFrame=textField_1.getText();
          				if(!(code.equalsIgnoreCase((codeFrame)))){
          					JOptionPane.showMessageDialog(null, "驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入!");
          					return;
          				}
          				DeskDaoImpl deskDao=new DeskDaoImpl();
          				Desk desk=new Desk(name,password);
          				int code=deskDao.LoginDesk(desk);
          				//判斷是否是管理員登錄
          				if(code==1){
          					//登錄成功
          					new HomeFrame().setVisible(true);
          					//符合 則跳轉(zhuǎn)到管理員的后臺(tái)管理界面
          					dispose();
          					return ;
          				}
          				else{
          					boolean bool=deskService.LoginDeskService(desk);
          					if(!bool){
          						JOptionPane.showMessageDialog(null, "賬號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入!");
          						return;
          					}
          					//登錄成功
          					new HomeFrame().setVisible(true);
          					dispose();
          				}
          		});
          		
          }

          開房入?。?/h4>
          @Override
          			//開房監(jiān)聽事件
          			public void mouseClicked(MouseEvent e) {
          				//獲取輸入的房間號(hào)
          				int houseId=Integer.parseInt(textField.getText());
          				//獲取輸入的姓名
          				String name=p_name.getText();
          				//獲取輸入的年齡
          				int age=Integer.parseInt(p_age.getText());
          				//獲取輸入的入住天數(shù)
          				int day=Integer.parseInt(p_day.getText());
          				//獲取輸入的身份證號(hào)
          				String id=p_id.getText();
          				//獲取輸入的性別
          				String sex=p_sex.getText();
          				//獲取房間類型
          				String type=p_type.getText();
          				//封裝到Guest實(shí)體中
          				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實(shí)體中
          				Room room=new Room();
          				room.setR_id(houseId);
          				//判斷年齡是否合理
          				if(!(age>0&&age<100)){
          					JOptionPane.showMessageDialog(null, "年齡輸入不合理,請(qǐng)重新輸入!");
          					return;
          				}
          				//判斷性別是否合理
          				if(!(sex.equals("男")||sex.equals("女"))){
          					JOptionPane.showMessageDialog(null, "性別只能是男或女,請(qǐng)重新輸入!");
          					return;
          				}
          				//入住天數(shù)不能小于1
          				if(!(day>0)){
          					JOptionPane.showMessageDialog(null, "入住天數(shù)不能小于1天,請(qǐng)重新輸入!");
          					return;
          				}
          				boolean bool=rs.OpenRoom(room);
          				if(!bool){
          					//房間已滿則開房失敗
          					JOptionPane.showMessageDialog(null, "該房間已滿,請(qǐng)更換房間!");
          					return;
          				}
          				if(!(type.equals("標(biāo)準(zhǔn)房")||type.equals("套房")||type.equals("雙人房")||type.equals("豪華套房"))){
          					JOptionPane.showMessageDialog(null, "輸入的信息有誤,開房失?。?quot;);
          					return;
          				}
          				boolean bool1=gsi.AddGuest(guest);
          				if(bool1){
          					//身份證不符合格式也失敗
          					JOptionPane.showMessageDialog(null, "身份證不符合格式,開房失敗!");
          					return;
          				}
           
          			}
          		});

          數(shù)據(jù)庫(kù)設(shè)計(jì):

          用戶表:
          CREATE TABLE `NewTable` (
          `d_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT '前臺(tái)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 '顧客編號(hào)' ,
          `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 '入住天數(shù)' ,
          `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價(jià)格' ,
          `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狀態(tài)' ,
          INDEX `r_id` (`r_id`) USING BTREE 
          )
          ENGINE=InnoDB
          DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
          AUTO_INCREMENT=106
          ROW_FORMAT=COMPACT
          ;

          “JavaSwing怎么實(shí)現(xiàn)酒店管理系統(tǒng)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

          向AI問(wèn)一下細(xì)節(jié)

          免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

          AI