编写环境:MyEclipse2014+sql server2014
系统功能:
1.登录验证
2.房态统计显示
3.预定登记并入库
4.入住登记并入库
5.换房登记并入库
6.客人信息查询
7.退房并入库
运行界面如下:
=====登录界面======
=====主界面=====
=====为每个房间设置弹出菜单======
=====登记界面======
=====换房界面=====
=====退房界面=====
界面之间相关关系:
主界面主要由菜单条,按钮,标签等组成,一个JButton是一个房间,其Test从数据库中获取,颜色由房态决定。
登记-换房-查看信息-退房等界面皆继承一个父类而来,简单快捷。
主要代码目录:
1.数据库操作类
  /**====================================================***     项目名             :酒店管理系统*     模块名             :数据库连接*     文件名             :DataBaseConnct.java*     相关文件         :*     实现功能         :jdbc连接数据库*     函数说明         :*     [## public Vector getId(){}]:*        功能:获取数据库中系统登录ID*        *     [## public void setId() {}]:*        功能:设置数据库中系统登录ID*        *     [## public Vector getPassword(){}]:*        功能:获取数据库中系统登录密码*        *     [## public void setPassword(){}]:*        功能:设置数据库中系统登录密码*        *     [## public Vector getRoonnum(){}]:*        功能:获取数据库中房间号*        *     [## public void setRoonnum() {}]:*        功能:设置数据库中房间号*        *     [## public Vector getRoomtype(){}]:*        功能:获取数据库中房间类型*        *     [## public void seRoomtype(){}]:*        功能:设置数据库中房间类型*        *     [## public void Sql(String sql){}]:*        功能:执行sql语句进行查询*     **===================================================**/
package com.common;
import java.sql.*;
import java.util.Vector;import javax.swing.JOptionPane;
import javax.xml.crypto.dsig.keyinfo.RetrievalMethod;
public class DataBaseConnect {private String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";private String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=hotel_mangerment_system";private  String userName="sa";private String userPwd="1451171";private  Connection ct=null;private ResultSet rs=null;private Statement st;private Vector id =new Vector();private Vector  password =new Vector();/**====================================================***          获取数据库中系统登录ID**===================================================**/public Vector getId() {return id;}/**====================================================***          设置数据库中系统登录ID**===================================================**/public void setId(Vector id) {this.id = id;}/**====================================================***          获取数据库中系统登录密码**===================================================**/public Vector getPassword() {return password;}/**====================================================***          设置数据库中系统登录ID**===================================================**/public void setPassword(Vector password) {this.password = password;}/**====================================================***     [## public void Sql(String sql) {}]   *       参数      :String sql*       返回值  :无*       修饰符  :public*       功能  :创建sql查询,从数据库里查询登陆账号与密码**===================================================**/public void Sql(String sql) throws Exception{Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);st=ct.createStatement();rs=st.executeQuery(sql);while(rs.next()){id.add(rs.getInt(1));password.add(rs.getInt(2));}if(rs!=null)rs.close();if(st!=null)st.close();if(ct!=null)ct.close();}/**====================================================***     [## public Vector RoomOperation(int room_num) {}]  查询房间信息 *       参数      :int room_num*       返回值  :无*       修饰符  :public*       功能  :创建sql查询房间号与类型,类外可使用**===================================================**/public Vector RoomOperation(int room_num)throws Exception{Vector<Object> data=new Vector<Object>();Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);st=ct.createStatement();rs=st.executeQuery("select * from room_table where roomnum="+room_num);while(rs.next()){data.add(rs.getInt(1));data.add(rs.getString(2));data.add(rs.getInt(3));data.add(rs.getInt(4));}if(rs!=null)rs.close();if(st!=null)st.close();if(ct!=null)ct.close();return data;}/**====================================================***     [## public void RoomOperation(String sql) {}]  查询房间使用状态*       参数      :String sql*       返回值  :房间个数*       修饰符  :public*       功能  :创建sql查询满足条件房间使用状态,类外可使用**===================================================**/public int getRow(String sql)throws Exception{Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);int rowcount=0;st=ct.createStatement();rs=st.executeQuery(sql);while(rs.next()){rowcount++;}if(rs!=null)rs.close();if(st!=null)st.close();if(ct!=null)ct.close();return rowcount;}/**====================================================***     [## public  void insertData(){}] 插入记录*       参数      :String table_name,String str*       返回值  :无*       修饰符  :public*       功能  :向数据库中插入记录**===================================================* @throws Exception **/public void insertData(String table_name,String str) throws Exception{Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);ct.setAutoCommit(false);st=ct.createStatement();String sql="insert into"+" "+table_name+" "+"values"+"("+str+")";st.executeUpdate(sql);ct.commit();if(st!=null)st.close();if(ct!=null)ct.close();}   /**====================================================***     [## public void updateData(String str){}] 更新记录*       参数      :String sql*       返回值  :无*       修饰符  :public*       功能  :向数据库中更新记录**===================================================*/public void updateData(String sql) throws Exception{Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);ct.setAutoCommit(false);st=ct.createStatement();st.executeUpdate(sql);ct.commit();if(st!=null)st.close();if(ct!=null)ct.close();}/**====================================================***     [## public void getDataFromCostomer(){}] 从Costomer_table中获取数据*       参数      :int room_num*       返回值  :Vector<object> data*       修饰符  :public*       功能  :根据房间号从Costomer_table中获取数据并返回**===================================================*/public Vector getDataFromCostomer(int room_num) throws Exception{Vector<Object> data=new Vector<Object>();Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);ct.setAutoCommit(false);st=ct.createStatement();rs=st.executeQuery("select * from costomer_table where roomnum="+room_num+"and isliving=1");while(rs.next()){data.add(rs.getInt(1));data.add(rs.getString(2));data.add(rs.getString(3));data.add(rs.getString(4));data.add(rs.getString(5));data.add(rs.getString(6));data.add(rs.getInt(7));data.add(rs.getInt(8));data.add(rs.getInt(9));}if(rs!=null)rs.close();if(st!=null)st.close();if(ct!=null)ct.close();return data;}/**====================================================***     [## public Vector RoomOperation(int room_num) {}]  查询房间信息 *       参数      :无*       返回值  :return returedata;*       修饰符  :public*       功能  :创建sql查询房间号与类型,与入住状态并返回,类外可使用**===================================================**/public Vector RoomOperation()throws Exception{Vector<Vector> returedata=new Vector<Vector>();Vector<Object> roomnum=new Vector<Object>();Vector<Object> roomtype=new Vector<Object>();Vector<Integer> roomstate=new Vector<Integer>();Class.forName(driverName);ct=DriverManager.getConnection(dbURL,userName,userPwd);st=ct.createStatement();rs=st.executeQuery("select roomnum,roomtype,roomatate from room_table");while(rs.next()){roomnum.add(rs.getInt(1));roomtype.add(rs.getString(2));roomstate.add(rs.getInt(3));}if(rs!=null)rs.close();if(st!=null)st.close();if(ct!=null)ct.close();returedata.add(roomnum);returedata.add(roomtype);returedata.add(roomstate);return returedata;}
}


2.登录界面类
    /**====================================================***     项目名             :酒店管理系统*     模块名             :系统登录窗口*     文件名             :HotelLoginGui.java*     相关文件         :DataBaseConnct.java   HotelMainGui.java*     实现功能         :系统登录界面*     函数说明         :*     [## public MyJframe(){}]:*        功能:构造函数     组建登录窗口*     [## public void enevtOperation(final MyLoginJframe mj){}]*        功能:登录界面的事件监听处理*     [## private boolean loginCheck() {}]:*        功能:登录验证,仅类内使用*     [## private void quit() {}]:*        功能:关闭系统函数,仅类内使用**===================================================**/
package com.HotelGui;
import com.common.*;//引入包import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;import javax.jws.soap.SOAPBinding.Style;
import javax.swing.*;import java.net.*;
import java.util.*;
public class HotelLoginGui {public static void main(String[] args) {// TODO Auto-generated method stubMyLoginJframe logingui=new MyLoginJframe();logingui.enevtOperation(logingui);
}
}
//登录界面MyJframe
class MyLoginJframe extends JFrame implements ActionListener
{DataBaseConnect dc;JPasswordField passwordnum;JTextField accountnum;JLabel password,account,login,backimg,backimg1;JLabel tiplabel;JComboBox<String> loginchoice;JButton loginbutton,resetbutton,exitbutton;JPanel jp,jp0,jp1,jp2,jp3,jp4,jp5;Vector<String> dept=new Vector<String>();private String id_now,user_type;/**=======================================================***               设置当前成功登录的ID**========================================================*/public void setId_now(String id_now) {this.id_now = id_now;}/**=======================================================***               获得当前成功登录的ID**========================================================*/public String getId_now() {return  id_now;}/**====================================================***     **[## public MyJframe() {}]    组建登录窗口*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :组建登录窗口**===================================================**/public MyLoginJframe(){   dc=new DataBaseConnect();//连接数据库实例jp=new JPanel();jp.setBounds(0, -5,550, 200);jp0=new JPanel();jp0.setBounds(0,180,250,250);jp1=new JPanel();jp1.setBounds(270, 215, 250, 30);jp2=new JPanel();jp2.setBounds(270, 250, 250, 30);jp3=new JPanel();jp3.setBounds(270, 280, 250, 30);jp4=new JPanel();jp4.setBounds(270, 335, 250, 40);jp5=new JPanel();jp5.setBounds(270, 380, 250, 30);dept.add("经理");dept.add("部门主管");dept.add("普通员工");account=new JLabel("账  户");password=new  JLabel("密  码");login=new JLabel("用  户                  ");backimg=new JLabel(new ImageIcon("images\\back.jpg"));backimg1=new JLabel(new ImageIcon("images\\back1.jpg"));tiplabel=new JLabel();tiplabel.setFont(new Font("宋体", Font.PLAIN, 12));tiplabel.setForeground(Color.red);tiplabel.setVisible(false);passwordnum=new  JPasswordField(12);accountnum=new JTextField(12);loginbutton=new JButton("登  录");loginbutton.setOpaque(false);loginbutton.setContentAreaFilled(false);resetbutton=new JButton("重  置");resetbutton.setOpaque(false);resetbutton.setContentAreaFilled(false);exitbutton =new JButton("退  出");exitbutton.setOpaque(false);exitbutton.setContentAreaFilled(false);loginchoice =new JComboBox(dept);jp.add(backimg);jp0.add(backimg1);jp1.add(account);jp1.add(accountnum);jp2.add(password);jp2.add(passwordnum);jp3.add(login);jp3.add(loginchoice);jp4.add(loginbutton);jp4.add(resetbutton);jp4.add(exitbutton);jp5.add(tiplabel);this.add(jp);this.add(jp0);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.setTitle("系统登录");this.setLayout(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);this.setBounds(320, 160, 550, 450);this.setIconImage(new ImageIcon("images\\icon.jpg").getImage());this.setVisible(true);}/**====================================================***     **[## private void enevtOperation() {}]    事件处理*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :登录窗口的事件操作**===================================================**/public void enevtOperation(final MyLoginJframe mj){/**=======================================================***               登录按钮监听事件**========================================================*/loginbutton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub            if(loginCheck()){tiplabel.setText("正  在  登  录...");//记录当前的操作记录id_now=accountnum.getText();user_type=loginchoice.getSelectedItem().toString();MyHotelMainGui mm=new MyHotelMainGui();  //登录到主界面mj.dispose();//显示当前的操作人员信息mm.setId_now(id_now);mm.setUser_type(user_type);mm.enevtOpration();mm.updateRoomState();Thread th=new Thread(mm);th.start();}else if(accountnum.getText().isEmpty() && passwordnum.getPassword().length==0)tiplabel.setText("密码与账号不能为空!");else if(accountnum.getText().isEmpty() && passwordnum.getPassword().length!=0)tiplabel.setText("请输入账号...");else if(accountnum.getText().isEmpty()==false && passwordnum.getPassword().length==0)tiplabel.setText("请输入密码...");elsetiplabel.setText("请检查后重新输入!");tiplabel.setVisible(true);}});/**=======================================================***              重置按钮监听事件**========================================================*/resetbutton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubaccountnum.setText("");passwordnum.setText("");loginchoice.setSelectedIndex(0);}});/**=======================================================***              退出按钮监听事件**========================================================*/exitbutton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubquit();}});}/**====================================================***     **[## private boolean loginCheck() {}]    登陆验证*       参数      :无*       返回值  :flag*       修饰符  :private*       功能  :登录验证,仅类内使用**===================================================**/public boolean loginCheck(){boolean flag=false;if(loginchoice.getSelectedIndex()==0){try {dc.Sql("select id,pass_word from mangerers_table");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(loginchoice.getSelectedIndex()==1){try {dc.Sql("select id,pass_word from dept_table");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(loginchoice.getSelectedIndex()==2){try {dc.Sql("select id,pass_word from common_table");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}for(int i=0;i<dc.getId().size();i++){String password=new String(passwordnum.getPassword());if(accountnum.getText().equals(dc.getId().get(i).toString()) && password.equals(dc.getPassword().get(i).toString())){flag=true;break;}}return flag;}/**====================================================***     **[## private void quit() {}]    系统退出*       参数      :无*       返回值  :无*       修饰符  :private*       功能  :关闭系统函数,仅类内使用**===================================================**/private void quit(){int flag=0;String msg="你 确 定 要 关 闭 系 统 吗?";flag=JOptionPane.showConfirmDialog(null, msg,"提示",JOptionPane.YES_NO_OPTION);if(flag==JOptionPane.YES_OPTION){this.setVisible(false);System.exit(0);}return;}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}
}

3.主界面类

    /**====================================================***     项目名             :酒店管理系统*     模块名             :系统登录成功后的主窗口*     文件名             :HotelMainGui.java*     相关文件         :HotelLoginGui.java DataBaseConnect.java*     实现功能         :系统登录成功后主界面*     函数说明         :*     [## public MyHotelMainGui(int i){}]:*        功能:构造函数     *     [## public MyHotelMainGui(){}]:*        功能:构造函数     组建登陆窗口*     [## private boolean loginCheck() {}]:*        功能:登录验证,仅类内使用*     [## private void quit() {}]:*        功能:关闭系统函数,仅类内使用*     [## public void run(){}]*        功能:线程执行刷新界面*     [## public void setLabelText(JLabel jl,int row)]*        功能:为JLabel设置text**===================================================**/
package com.HotelGui;
import java.awt.*;import com.common.DataBaseConnect;
import com.databasejdbc.*;import javax.swing.*;import java.text.SimpleDateFormat;
import java.util.*;
import java.awt.event.*;
public class MyHotelMainGui extends JFrame implements ActionListener,Runnable
{public MyHotelMainGui(int i){} private static final FocusListener FocusListener = null;String roomnum,roomtype;JPopupMenu popupMenu;JMenuBar jmb;JPanel jp1,jp2,room_jp1;JLabel time_jl,order_jl,login_jl,change_jl,checkout_jl,relogin_jl,money_jl,exit_jl,emploer_jl;JMenu jm1,jm2,jm3,jm4,jm5,jm6,jm7,jm8,bt_jm;JButton time_bt,order_bt,login_bt,change_bt,checkout_bt,relogin_bt,money_bt,exit_bt,emploer_bt,oneF_bt,twoF_bt,threeF_bt,fourF_bt;Vector<JButton> roomjb=new Vector<JButton>();Vector<JPopupMenu> popupVector=new Vector<JPopupMenu>();JLabel statelabel,state,staticsstate;JButton jj;JLabel allroom_jl,empty_jl,ordered_jl,isliv_jl,else_jl,allroom_jl1,empty_jl1,ordered_jl1,isliv_jl1,else_jl1;String id_now,user_type;/**=======================================================***               获取当前成功登录的ID**========================================================*/public String getId_now() {return id_now;}/**=======================================================***               获取当前成功登录的用户类型**========================================================*/public String getUser_type() {return user_type;}/**=======================================================***               设置当前成功登录的ID**========================================================*/public void setId_now(String id_now) {this.id_now = id_now;}/**=======================================================***               设置当前成功登录的用户类型**========================================================*/public void setUser_type(String user_type) {this.user_type = user_type;}/**====================================================***     **[## public MyHotelMainGui() {}]    构造函数*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :构造函数,初始化主界面**===================================================**/public MyHotelMainGui(){//为每个房间设置点击事件for( int i=0;i<32;i++){final String str;if(i<10){str="40"+(i+1);}else{str="4"+(i+1);}popupMenu =  new  JPopupMenu ();popupVector.add(popupMenu);JMenuItem orderMenuItem =  new  JMenuItem ("新预定") ;orderMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( orderMenuItem ) ;//添加事件orderMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubCheckIn ck=new CheckIn("预订登记","images\\checkin_bt.jpg");ck.room_num_jf.setText(str);ck.cancelButton();//登記入住ck.checkinButton(1);updateRoomState();}});JMenuItem checkinMenuItem =  new  JMenuItem ("入住登记") ;checkinMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( checkinMenuItem ) ;checkinMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubCheckIn ck=new CheckIn("入住登记","images\\checkin_bt.jpg");ck.room_num_jf.setText(str);ck.cancelButton();//登記入住ck.checkinButton(2);updateRoomState();}});// SeparatorpopupMenu.addSeparator () ;JMenuItem changeMenuItem =  new  JMenuItem ("客人换房") ;changeMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( changeMenuItem ) ;changeMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubChangeRoom cr=new ChangeRoom("客人换房","images\\change_bt.jpg");cr.check_bt.setVisible(false);cr.jtf.setText(str);try {cr.check_Bt("房间未入住!");} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});JMenuItem msgMenuItem =  new  JMenuItem ("客人信息") ;msgMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( msgMenuItem ) ;msgMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubCheckMsg cm=new CheckMsg("客人信息","images\\");cm.check_bt.setVisible(false);cm.jtf.setText(str); try {cm.check_Bt("房间未入住!");} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});JMenuItem reckMenuItem =  new  JMenuItem ("客人续住") ;reckMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( reckMenuItem ) ;popupMenu.addSeparator () ;JMenuItem checkoutMenuItem =  new  JMenuItem ("客人退房") ;checkoutMenuItem.setFont(new Font("宋体",Font.ITALIC,14));popupVector.get(i).add ( checkoutMenuItem ) ;checkoutMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubCheckOut co=new CheckOut("客人退房","images\\checkout_bt.jpg");co.check_bt.setVisible(false);co.jtf.setText(str);    try {co.check_Bt("房间未入住!");} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});}oneF_bt=new JButton(new ImageIcon("images\\1F.jpg"));oneF_bt.setBounds(20, 170, 60,50);twoF_bt=new JButton(new ImageIcon("images\\2F.jpg"));twoF_bt.setBounds(20, 250, 60,50);threeF_bt=new JButton(new ImageIcon("images\\3F.jpg"));threeF_bt.setBounds(20, 330, 60,50);fourF_bt=new JButton(new ImageIcon("images\\4F.jpg"));fourF_bt.setBounds(20, 410, 60,50);for(int i=0;i<32;i++){JButton jb=new JButton();roomjb.add(jb);if(i<8)roomjb.get(i).setBounds(90*i, 0, 90, 90);else if(i<16)roomjb.get(i).setBounds(90*(i-8), 90, 90, 90);else if(i<24)roomjb.get(i).setBounds(90*(i-16), 180, 90, 90);elseroomjb.get(i).setBounds(90*(i-24), 270, 90, 90);roomjb.get(i).setContentAreaFilled(false);roomjb.get(i).setComponentPopupMenu (popupVector.get(i));}//放置房间的JPanelroom_jp1=new JPanel();room_jp1.setLayout(null);room_jp1.setBounds(120, 150, 730, 367);allroom_jl=new JLabel(new ImageIcon("images\\all.jpg"));allroom_jl1=new JLabel();allroom_jl.setBounds(950, 150, 75, 30);allroom_jl1.setBounds(1110, 150, 75, 30);empty_jl=new JLabel(new ImageIcon("images\\empty.jpg"));empty_jl1=new JLabel();empty_jl.setBounds(950, 200, 75, 30);empty_jl1.setBounds(1110, 200, 75, 30);ordered_jl=new JLabel(new ImageIcon("images\\order.jpg"));ordered_jl1=new JLabel();ordered_jl.setBounds(950, 250, 75, 30);ordered_jl1.setBounds(1110, 250, 75, 30);isliv_jl=new JLabel(new ImageIcon("images\\isliv.jpg"));isliv_jl1=new JLabel();isliv_jl.setBounds(950, 300, 75, 30);isliv_jl1.setBounds(1110, 300, 75, 30);else_jl=new JLabel(new ImageIcon("images\\else.jpg"));else_jl1=new JLabel();else_jl1.setBounds(1110, 350, 75, 30);else_jl.setBounds(950, 350, 75, 30);state=new JLabel("实时房态统计");state.setFont(new Font("宋体",Font.PLAIN,14));state.setBounds(1000, 90, 100, 40);staticsstate=new JLabel();staticsstate.setFont(new Font("宋体",Font.PLAIN,25));staticsstate.setBounds(970, 420, 250, 60);staticsstate.setForeground(Color.red);jp2=new JPanel();jp2.setBounds(10, 570, 950, 50);//底部登录状态显示statelabel=new JLabel();statelabel.setFont(new Font("宋体",Font.CENTER_BASELINE,12));jp2.add(statelabel);time_jl=new JLabel("实时房态");time_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));time_jl.setBounds(10, 53, 40, 10);time_bt=new JButton(new ImageIcon("images\\实时房态.jpg"));time_bt.setBounds(10, 10, 40, 40);time_bt.setBorderPainted(false);order_bt=new JButton(new ImageIcon("images\\预定登记.jpg"));order_bt.setBounds(65, 10, 40, 40);order_bt.setBorderPainted(false);order_jl=new JLabel("预定登记");order_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));order_jl.setBounds(65, 53, 40, 10);login_bt=new JButton(new ImageIcon("images\\入住登记.jpg"));login_bt.setBounds(120, 10, 40, 40);login_bt.setBorderPainted(false);login_jl=new JLabel("入住登记");login_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));login_jl.setBounds(120, 53, 40, 10);change_bt=new JButton(new ImageIcon("images\\客人换房.jpg"));change_bt.setBounds(175, 10, 40, 40);change_bt.setBorderPainted(false);change_jl=new JLabel("客人换房");change_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));change_jl.setBounds(175, 53, 40, 10);relogin_bt=new JButton(new ImageIcon("images\\客房续住.jpg"));relogin_bt.setBounds(230, 10, 40, 40);relogin_bt.setBorderPainted(false);relogin_jl=new JLabel("客人续住");relogin_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));relogin_jl.setBounds(230, 53, 40, 10);checkout_jl=new JLabel("客人退房");checkout_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));checkout_jl.setBounds(285, 53, 40, 10);checkout_bt=new JButton(new ImageIcon("images\\客人退房.jpg"));checkout_bt.setBounds(285, 10, 40, 40);checkout_bt.setBorderPainted(false);money_bt=new JButton(new ImageIcon("images\\收银报表.jpg"));money_bt.setBounds(340, 10, 40, 40);money_bt.setBorderPainted(false);money_jl=new JLabel("财务报表");money_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));money_jl.setBounds(340, 53, 40, 10);exit_bt=new JButton(new ImageIcon("images\\退出系统.png"));exit_bt.setBounds(450, 10, 40, 40);exit_bt.setBorderPainted(false);exit_jl=new JLabel("退出系统");exit_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));exit_jl.setBounds(450, 53, 40, 10);emploer_bt=new JButton(new ImageIcon("images\\员工管理.jpg"));emploer_bt.setBounds(395, 10, 40, 40);emploer_bt.setBorderPainted(false);emploer_jl=new JLabel("员工管理");emploer_jl.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,10));emploer_jl.setBounds(395, 53, 40, 10);jm1=new JMenu("预订接待(A)");jm1.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm2=new JMenu("前台营业(B)");jm2.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm3=new JMenu("客户管理(C)");jm3.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm4=new JMenu("员工管理(D)");jm4.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm5=new JMenu("财务报表(E)");jm5.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm6=new JMenu("综合查询(Z)");jm6.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm7=new JMenu("窗口(P)");jm7.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jm8=new JMenu("帮助(H)");jm8.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));jmb=new JMenuBar();jmb.add(jm1);jmb.add(jm2);jmb.add(jm3);jmb.add(jm4);jmb.add(jm5);jmb.add(jm6);jmb.add(jm7);jmb.add(jm8);for(int i=0;i<32;i++){room_jp1.add(roomjb.get(i));}this.add(oneF_bt);this.add(twoF_bt);this.add(threeF_bt);this.add(fourF_bt);this.add(time_bt);this.add(order_bt);this.add(login_bt);this.add(change_bt);this.add(relogin_bt);this.add(change_bt);this.add(checkout_bt);this.add(money_bt);this.add(exit_bt);this.add(emploer_bt);this.add(time_jl);this.add(order_jl);this.add(login_jl);this.add(change_jl);this.add(relogin_jl);this.add(change_jl);this.add(checkout_jl);this.add(money_jl);this.add(exit_jl);this.add(emploer_jl);this.add(jp2);this.add(state);this.add(allroom_jl);this.add(empty_jl);this.add(isliv_jl);this.add(ordered_jl);this.add(else_jl);this.add(allroom_jl1);this.add(empty_jl1);this.add(isliv_jl1);this.add(ordered_jl1);this.add(else_jl1);this.add(staticsstate);this.setResizable(false);this.setIconImage(new ImageIcon("images\\icon.jpg").getImage());this.setTitle("I酒店管理系统"+"——"+"["+"实时房态"+"]");this.setFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));this.setJMenuBar(jmb);this.setLocation(50, 50);this.setLayout(null);this.add(room_jp1);this.setSize(Toolkit.getDefaultToolkit().getScreenSize().width-100,Toolkit.getDefaultToolkit().getScreenSize().height-100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}/**====================================================***     **[## public void enevtOpration {}]    主窗体上的事件监听*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :监听用户在主窗体中的操作**===================================================**/public void enevtOpration(){order_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubCheckIn ck=new CheckIn("预订登记","images\\checkin_bt.jpg");ck.cancelButton();//登記入住ck.checkinButton(1);updateRoomState();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stuborder_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stuborder_bt.setBorderPainted(false);}});login_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubCheckIn ck=new CheckIn("入住登记","images\\checkin_bt.jpg");ck.cancelButton();//登記入住ck.checkinButton(2);updateRoomState();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stublogin_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stublogin_bt.setBorderPainted(false);}});change_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubChangeRoom cr=new ChangeRoom("客人换房", "images\\change_bt.jpg");updateRoomState();repaint();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubchange_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubchange_bt.setBorderPainted(false);}});relogin_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubrelogin_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubrelogin_bt.setBorderPainted(false);}});checkout_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubCheckOut co=new CheckOut("客人退房","images\\checkout_bt.jpg");}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubcheckout_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubcheckout_bt.setBorderPainted(false);}});money_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubmoney_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubmoney_bt.setBorderPainted(false);}});emploer_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubemploer_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubemploer_bt.setBorderPainted(false);}});exit_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubquit();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubexit_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubexit_bt.setBorderPainted(false);}});time_bt.addMouseListener(new MouseListener() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubupdateRoomState();}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubtime_bt.setBorderPainted(true);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubtime_bt.setBorderPainted(false);}});}/**====================================================***     **[## public void run() {}]    线程执行,随着系统改变当前时间*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :使用线程使当前界面时间随着系统改变当**===================================================**/public void run() {// TODO Auto-generated method stubSimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");while(true){statelabel.setText("当前时间为:"+df.format(new Date())+"         "+"当前登录的用户为:"+id_now+"         "+"用户类型为:"+user_type);statelabel.repaint();this.repaint();}}/**====================================================***     **[## private void quit() {}]    系统退出*       参数      :无*       返回值  :无*       修饰符  :private*       功能  :关闭系统函数,仅类内使用**===================================================**/
private void quit()
{int flag=0;String msg="你 确 定 要 关 闭 系 统 吗?";flag=JOptionPane.showConfirmDialog(null, msg,"提示",JOptionPane.YES_NO_OPTION);if(flag==JOptionPane.YES_OPTION){this.setVisible(false);System.exit(0);}return;
}
/**====================================================***     **[## public void setLabelText(JLabel jl,int row) {}]  为JLabel设置text*       返回值  :无*       修饰符  :public*       功能  :为JLabel设置text**===================================================**/
public void setLabelText(JLabel jl,int row)
{try{jl.setText(Integer.toString(row)+"   "+"间");}catch(Exception e){}}
/**====================================================***     **[## public void updateRoomState{}]  更新入住状态*       返回值  :无*       修饰符  :public*       功能  :更新入住统计情况**===================================================* @throws Exception **/
public void updateRoomState()
{DataBaseConnect ns=new DataBaseConnect();Vector<Vector> returndata = null;try {setLabelText(allroom_jl1, ns.getRow("select * from room_table"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}int tol=1;try {tol = ns.getRow("select * from room_table");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {setLabelText(empty_jl1, ns.getRow("select * from room_table where roomatate=0"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {setLabelText(ordered_jl1, ns.getRow("select * from room_table where roomatate=1"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {setLabelText(isliv_jl1, ns.getRow("select * from room_table where roomatate=2"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}int isl=1;try {isl = ns.getRow("select * from room_table where roomatate=2");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {setLabelText(else_jl1, ns.getRow("select * from room_table  where roomatate=3"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {staticsstate.setText("入 住 率 :"+ " "+(int)(isl*100/tol)+"%");returndata=ns.RoomOperation();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}for(int i=0;i<returndata.get(0).size();i++){try{roomjb.get(i).setText("<html>" +returndata.get(0).get(i)+"<br>"+returndata.get(1).get(i)+"</html>");}catch(Exception e){}try{if(returndata.get(2).get(i).equals(0))roomjb.get(i).setForeground(Color.GREEN);else if(returndata.get(2).get(i).equals(1))roomjb.get(i).setForeground(Color.pink);elseroomjb.get(i).setForeground(Color.red);}catch(Exception e){}repaint();}}}

4.登记-换房-退房等父类

 /**====================================================***     项目名             :酒店管理系统*     模块名             :入住登记窗口与预定登记窗口*     文件名             :CheckIn.java*     相关文件         :DataBaseConnct.java *     实现功能         :入住登记或预定登记并写入数据库*     函数说明         :*     [## public CheckIn(){}]:*        功能:构造函数     组建入住登记窗口*        *     [## public void cancelButton(){}]*        功能:取消按钮的事件监听处理*        *     [## returnButton{}]:*        功能:返回按钮的事件监听处理*        *     [## public void checkinButton(final int flag){}]:*        功能:确定登记按钮的事件监听处理*      **===================================================**/
package com.databasejdbc;
import com.HotelGui.MyHotelMainGui;
import com.common.*;import java.util.*;
import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.*;
public class CheckIn extends JFrame {JLabel name_jl,gender_jl,id_jl,room_num_jl,room_type_jl,checkin_jl,checkout_jl,tital_jl,tip_jl,price_jl,charge_jl,despoit_jl,tip_jl1,tip_jl2;JButton checkin_bt,cancel_bt,return_bt;JComboBox<String> gender_jb,room_type_jb;JTextField name_jf,id_jf;public JTextField room_num_jf;JTextField price_jf;JTextField despoit_jf;JTextField charge_jf;JTextField checkin_jf;JTextField checkout_jf;public static void main(String[] args) {// TODO Auto-generated method stubCheckIn ck=new CheckIn("入住登记","images\\checkin_bt.jpg");ck.cancelButton();//ck.checkinButton();}/**====================================================***     **[## public CheckIn(){}]    构造函数*       参数      :String str1,String path  //界面Tital、按钮UI地址*       返回值  :无*       修饰符  :public*       功能  :构造函数,初始化入住登记界面**===================================================**/public CheckIn(String str1,String path){tital_jl=new JLabel(str1);tital_jl.setBounds(300,20, 100, 60);tital_jl.setFont(new Font("宋体",Font.BOLD,23));tip_jl=new JLabel("(以下信息请完整填写)");tip_jl.setBounds(270,70, 200, 30);tip_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));name_jl=new JLabel("姓    名");name_jl.setBounds(150, 170, 60, 30);name_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));name_jf=new JTextField(10);name_jf.setBounds(230, 170, 140, 27);id_jl=new JLabel("身份证号");id_jl.setBounds(450, 170, 60, 30);id_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));id_jf=new JTextField(10);id_jf.setBounds(530, 170, 140, 27);gender_jl=new JLabel("性    别");gender_jl.setBounds(150, 220, 60, 30);gender_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));gender_jb=new JComboBox<String>();gender_jb.setBounds(230, 220, 140, 27);gender_jb.addItem("男");gender_jb.addItem("女");room_num_jl=new JLabel("房 间 号");room_num_jl.setBounds(450, 220, 60, 30);room_num_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));room_num_jf=new JTextField(10);room_num_jf.setBounds(530, 220, 140, 27);room_type_jl=new JLabel("房间标准");room_type_jl.setBounds(150, 270, 60, 30);room_type_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));room_type_jb=new JComboBox<String>();room_type_jb.setBounds(230, 270, 140, 27);room_type_jb.addItem("商务单间");room_type_jb.addItem("商务标间");room_type_jb.addItem("大床房");room_type_jb.addItem("杂物间");price_jl=new JLabel("房间价格");price_jl.setBounds(450, 270, 60, 30);price_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));price_jf=new JTextField(10);price_jf.setBounds(530, 270, 140, 27);charge_jl=new JLabel("实际收费");charge_jl.setBounds(150, 320, 60, 30);charge_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));charge_jf=new JTextField(10);charge_jf.setBounds(230, 320, 140, 27);despoit_jl=new JLabel("预收押金");despoit_jl.setBounds(450, 320, 60, 30);despoit_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));despoit_jf=new JTextField(10);despoit_jf.setBounds(530, 320, 140, 27);checkin_jl=new JLabel("入住日期");tip_jl1=new JLabel("(####-##-##)");tip_jl1.setBounds(145, 400, 80, 40);checkin_jl.setBounds(150, 370, 60, 40);checkin_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));checkin_jf=new JTextField(10);checkin_jf.setBounds(230, 370, 140, 27);checkout_jl=new JLabel("离店日期");tip_jl2=new JLabel("(####-##-##)");tip_jl2.setBounds(445, 400, 80, 40);checkout_jl.setBounds(450, 370, 60, 30);checkout_jl.setFont(new Font("宋体",Font.HANGING_BASELINE,14));checkout_jf=new JTextField(10);checkout_jf.setBounds(530, 370, 140, 27);checkin_bt=new JButton(new ImageIcon(path));checkin_bt.setBounds(160, 500, 85, 30);checkin_bt.setOpaque(false);cancel_bt=new JButton(new ImageIcon("images\\cancel_bt.jpg"));cancel_bt.setBounds(345, 500, 85, 30);cancel_bt.setOpaque(false);return_bt=new JButton(new ImageIcon("images\\return_bt.jpg"));return_bt.setBounds(530, 500, 85, 30);return_bt.setOpaque(false);return_bt.setActionCommand("1");/**========================================***               返回按钮注册监听=========================================*/return_bt.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getActionCommand().equals("1"))returnButton();}});this.setLayout(null);this.add(tital_jl);this.add(tip_jl);this.add(name_jl);this.add(name_jf);this.add(id_jl);this.add(gender_jl);this.add(room_num_jl);this.add(room_type_jl);this.add(price_jl);this.add(charge_jl);this.add(despoit_jl);this.add(checkin_jl);this.add(tip_jl1);this.add(checkout_jl);this.add(tip_jl2);this.add(checkin_bt);this.add(cancel_bt);this.add(return_bt);this.add(id_jf);this.add(gender_jb);this.add(room_num_jf);this.add(room_type_jb);this.add(price_jf);this.add(charge_jf);this.add(despoit_jf);this.add(checkin_jf);this.add(checkout_jf);this.setTitle(str1);this.setIconImage(new ImageIcon("images\\入住登记.jpg").getImage());this.setBounds(250, 80, Toolkit.getDefaultToolkit().getScreenSize().width-600,Toolkit.getDefaultToolkit().getScreenSize().height-150);this.setResizable(false);this.setVisible(true);
}/**====================================================***     **[## public void cancelButton()  {}]    取消按钮操作*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :点击取消按钮清空操作**===================================================**/public void cancelButton() {cancel_bt.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubname_jf.setText("");id_jf.setText("");room_num_jf.setText("");charge_jf.setText("");price_jf.setText("");despoit_jf.setText("");checkin_jf.setText("");checkout_jf.setText("");gender_jb.setSelectedIndex(0);room_type_jb.setSelectedIndex(0);}});}/**====================================================***     **[## public void returnButton() {}]  返回按钮操作*       参数      :无*       返回值  :无*       修饰符  :public*       功能  :点击返回按钮返回到主界面,入住登记界面释放**===================================================**/public void returnButton(){this.dispose();}/**====================================================***     **[## public void checkinButton(int flag)  {}]    确定按钮操作*       参数      :int flag flag==1,则表示入住登记状态更改 ;flag==2,则表示预订登记状态更改*       返回值  :无*       修饰符  :public*       功能  :点击确定按钮进行入住登记输入数据库操作操作**===================================================**/public void checkinButton(final int flag){checkin_bt.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub  DataBaseConnect dc=new DataBaseConnect();String str=new String(Integer.valueOf(room_num_jf.getText())+",\'"+name_jf.getText()+"\',\'"+gender_jb.getSelectedItem().toString()+"\',\'"+id_jf.getText()+"\',\'"+checkin_jf.getText()+"\',\'"+checkout_jf.getText()+"\',"+Integer.valueOf(charge_jf.getText())+","+Integer.valueOf(despoit_jf.getText())+","+1);try {dc.insertData("costomer_table", str);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}String sql="update room_table set roomatate="+flag+" where roomnum="+Integer.valueOf(room_num_jf.getText());try {dc.updateData(sql);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}JOptionPane.showConfirmDialog(null, "登记成功!","提示",JOptionPane.CLOSED_OPTION);int option=0;if(option==JOptionPane.YES_OPTION){try{MyHotelMainGui hm=new MyHotelMainGui(1);hm.updateRoomState();Thread th=new Thread(hm);th.start();}catch(Exception e1){}}}});}}
源代码比较多,就不再上传了,欢迎交流,共同学习进步。项目全部资源需要可从此下载:
链接:http://pan.baidu.com/s/1hseCym4 密码:xdr4

简单的酒店管理系统(纯属练手)相关推荐

  1. 安卓毕业设计-图书馆管理系统-新手练手项目

    图书馆管理系统 目的:1,用于毕业设计 2,用于用于新手的练手项目 开发环境:win7,android studio3.0.1,模拟器api:7.0.1 开发语言:Java 代码量:Java代码500 ...

  2. .Net 自己写个简单的 半 ORM (练手)

    ORM 大家都知道, .Net 是EF  还有一些其他的ORM  从JAVA 中移植过来的 有 , 大神自己写的也有 不管ORM 提供什么附加的 乱七八糟的功能 但是 最主要的 还是 关系映射 的事情 ...

  3. 美亚杯赛前小训练,分享一套小模拟练习,弘连软件使用学习,供大家赛前训练,题目非常简单,很适合大家练手(非常推荐!)(新手手荐!)题目入门非常合适,也是了解软件很好的办法!

    话不多说,先上链接,百度网盘. 链接:https://pan.baidu.com/s/17Sl3R3PfHUuhmaPug-M6Sg?pwd=ybww 提取码:ybww --来自百度网盘超级会员V3的 ...

  4. 酒店管理系统的简单实现

    实现一个简单的酒店管理系统,具备五个功能,分别为1查看所有房间功能,2订房功能,3退房功能,4修改价格功能,5退出本系统功能. 这个题目跟之前做的那个商城管理系统很像,大部分功能都是差不多的,我们具体 ...

  5. java web 酒店管理系统_GitHub - inkss/hotelbook-JavaWeb: 酒店管理系统-JavaWeb期末项目。...

    酒店管理系统 受限于当时的知识储备,所采用的技术都非常的原始,完成度也不是很好,基本就是单纯对表的增删改查.一个成熟的项目不仅仅只是对表的增删改,最重要的是业务上的处理,报表数据的分析等等.当初在学校 ...

  6. 【练手程序】简单的学生学籍管理系统

    这是个简单的学籍管理系统,将学生信息放在大字典当中,以学生学号为键,以包括学生其他信息的一个小字典为值,做到了对简单信息的增删改查. 以下为源代码(因为语言表述不准确,所以未在程序内进行注释,怕注释不 ...

  7. Go 开源项目推荐:一个简单的 Go 练手项目

    阅读本文大概需要 2 分钟. Go 语言中文网微信群时不时有人问,有没有练手项目推荐.实话说,公众号陆续推荐过不少,但大家更擅长及时问,而不是找找.今天看到一个开源项目,值得学习了 Go 语言,但没有 ...

  8. 一只刚学java的菜鸡一次练手练习——简易的快递信息管理系统

    一只刚学java的菜鸡一次练手练习--简易的快递信息管理系统 由于是新手第一次写练手项目并且是自学,例如存储查询数据的方式并没有选择最合适的集合,GUI也写的比较丑,见谅哈哈哈 以下是正文: 首先是快 ...

  9. 手撸一个基于Springboot的文件管理系统,可用于练手或者毕业设计

    本文首发与Java项目实战网,原来链接:http://www.javaxmsz.com/main/detail?blogId=24 最近有粉丝私信问我,想做一个简单的文件管理系统,想练练手,问我有没有 ...

  10. 10个综合管理系统类开源项目,速速拿去练手

    文章目录 1. Base Admin(练手 layui) 2. JeecgBoot(Vue) 2. zheng(MVC 分布式) 4. bm-rms(SSM 练手 Layui Easyui) 5. 办 ...

最新文章

  1. ORACLE下载当中的gateways,companion,clusterware都是什么用途?
  2. 从零入门 FreeRTOS 操作系统之任务调度器
  3. c++中.dll与.lib文件的生成与使用的详解
  4. AI当下要破局,不能没有知识图谱!
  5. nlv sqlserver_SQLServer数据类型
  6. C++ 标准库之cctype
  7. 深度学习——夏侯南溪的深度神经网络的调参日志
  8. php过滤非法字符函数,非法字符过滤_PHP教程
  9. Oracle database sqldeveloper study(1)
  10. java导出excel超出65536条处理
  11. 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
  12. SphereEx张亮:“开源和商业化不能形成对立”
  13. 2021年全新Java学习路线图,对标阿里P7技术栈
  14. 海思3518E开发笔记1.2——海思SDK脚本学习
  15. 论文阅读笔记--Federated Continual Learning with Weighted Inter-client Transfer
  16. INFOR WMS仓储管理系统里常用表说明
  17. cat5e跑万兆_全网最标准的万兆网线测试!超五类到底能不能跑万兆?
  18. 理解插值法(拉格朗日、牛顿插值法)
  19. excel怎么做汇总平均值?
  20. 【Android】精通Android UI设计

热门文章

  1. SSM框架整合详细教程
  2. 【Unity 自学之路】2 - 素材编辑
  3. Java LDAP统一身份认证
  4. 天气类App原型制作分享-ColorfulClouds
  5. 计算机第一代及第四代发展概况,1计算机发展概况解析.ppt
  6. 微信小程序-快递查询
  7. POWER BI | 注册
  8. HttpServletRequest请求转发
  9. 升级JUnit5及其特性介绍
  10. go实现gzip压缩、解压