热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

java实现客房管理系统

本文实例为大家分享了java实现客房管理系统的具体代码,供大家参考,具体内容如下 AddClient.java import j

本文实例为大家分享了java实现客房管理系统的具体代码,供大家参考,具体内容如下

AddClient.java

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Calendar;

import javax.naming.spi.DirStateFactory.Result;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;


 public class AddClient extends JFrame implements ActionListener{
 JTextField sname,ID,age,home_addr,employer,phone,cno,rno,intime,outtime,days,cashpledge;
 JButton save,cancel,save1;
 JPanel pl,pl1,pl2,pl3,pl4,pl5,pl6,pl7,pl8,pl9,pl10,pl11,pl12,pl13,pl14,pl15,pl16;
 JRadioButton man,wuman,yes,no;
 ButtonGroup group,group1;
 String sex,vip;
 int k,k1,k2;
 public AddClient(){
 pl=new JPanel();
 pl1=new JPanel();
 pl2=new JPanel();
 pl3=new JPanel();
 pl4=new JPanel();
 pl5=new JPanel();
 pl6=new JPanel();
 pl7=new JPanel();
 pl8=new JPanel();
 pl9=new JPanel();
 pl10=new JPanel();
 pl11=new JPanel();
 pl12=new JPanel();
 pl13=new JPanel();
 pl14=new JPanel();
 pl15=new JPanel();
 pl16=new JPanel(new FlowLayout(FlowLayout.CENTER,20,20));

 sname=new JTextField(15);
 ID=new JTextField(15);
 age=new JTextField(15);
 home_addr=new JTextField(15);
 employer=new JTextField(15);
 phOne=new JTextField(15);
 cno=new JTextField(15);
 rno=new JTextField(15);
 intime=new JTextField(15);
 outtime=new JTextField(15);
 days=new JTextField(15);
 cashpledge=new JTextField(15);
 
 
 group=new ButtonGroup();
 group1=new ButtonGroup();
 man=new JRadioButton("男",true);
 wuman=new JRadioButton("女",false);
 yes=new JRadioButton("是",true);
 no=new JRadioButton("否",false);
 group.add(man);
 group.add(wuman);
 group1.add(yes);
 group1.add(no);
 

 pl1.add(new JLabel("姓名:  ",JLabel.RIGHT));
 pl1.add(sname);
 pl2.add(new JLabel("身份证号:",JLabel.RIGHT));
 pl2.add(ID);
 pl3.add(new JLabel("性别:  ",JLabel.RIGHT));
 pl3.add(man);
 pl3.add(wuman);
 pl4.add(new JLabel("VIP客户:"));
 pl4.add(yes);
 pl4.add(no);
 pl5.add(new JLabel("年龄:  ",JLabel.RIGHT));
 pl5.add(age);
 pl6.add(new JLabel("家庭地址:",JLabel.RIGHT));
 pl6.add(home_addr);
 pl7.add(new JLabel("工作单位:",JLabel.RIGHT));
 pl7.add(employer);
 pl8.add(new JLabel("手机号: ",JLabel.RIGHT));
 pl8.add(phone);
 
 
 pl.setBorder(BorderFactory.createTitledBorder("客户 信息"));
 pl.setLayout(new GridLayout(4,2,10,10));
 pl.add(pl1);
 pl.add(pl2);
 pl.add(pl3);
 pl.add(pl4);
 pl.add(pl5);
 pl.add(pl8);
 pl.add(pl7);
 pl.add(pl6);


 pl9.add(new JLabel("房号:   ",JLabel.RIGHT));
 pl9.add(rno);
 pl10.add(new JLabel("入住时间:",JLabel.RIGHT));
 pl10.add(intime);
 pl11.add(new JLabel("预离店时间",JLabel.RIGHT));
 pl11.add(outtime);
 pl12.add(new JLabel("入住天数:",JLabel.RIGHT));
 pl12.add(days);
 pl13.add(new JLabel("预交押金:",JLabel.RIGHT));
 pl13.add(cashpledge);
 pl14.add(new JLabel("入住序号:",JLabel.RIGHT));
 pl14.add(cno);
 
 pl15.setBorder(BorderFactory.createTitledBorder("客户入住 信息"));
 pl15.setLayout(new GridLayout(3,2,15,15));
 pl15.add(pl14);
 pl15.add(pl9);
 pl15.add(pl10);
 pl15.add(pl11);
 pl15.add(pl12);
 pl15.add(pl13);
 
 
 save=new JButton("登记入住");
 cancel=new JButton("取消");
 save1=new JButton("添加家属");
 save.addActionListener(this);
 cancel.addActionListener(this);
 save1.addActionListener(this);
 pl16.add(save);
 pl16.add(save1);
 pl16.add(cancel);
 
 add(pl,BorderLayout.NORTH);
 add(pl15,BorderLayout.CENTER);
 add(pl16,BorderLayout.SOUTH);
 
 setBounds(600,300,600,600);
 setTitle("客户入住信息");
 setVisible(true);
 }
 @Override
 public void actionPerformed(ActionEvent e) {
 if(e.getSource()==save){
 int result=JOptionPane.showConfirmDialog(null, "确认提交吗", "温馨提示", JOptionPane.YES_NO_OPTION);
 if (result==0) {
 if(man.isSelected()){ 
  sex="男";
  } 
 else{ 
  sex="女";
  } 
 if(yes.isSelected()){ 
  vip="是";
  } 
 else{ 
  vip="否";
  }
 try
  {
  Class.forName(Url.driver);
  Connection con=DriverManager.getConnection(Url.url,Url.username,Url.userpwd);
  Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
  k=sql.executeUpdate("insert into Client values('"+sname.getText()+"','"+ID.getText()+"','"+sex+"','"+age.getText()+"','"+home_addr.getText()+"','"+employer.getText()+"','"+vip+"','"+phone.getText()+"')");
  k1=sql.executeUpdate("insert into Check_in(Cno,Rno,Intime,Outtime,Dayss,Cashpledge) values('"+cno.getText()+"','"+rno.getText()+"','"+intime.getText()+"','"+outtime.getText()+"','"+days.getText()+"','"+cashpledge.getText()+"')");
  k2=sql.executeUpdate("insert into Type_in values('"+cno.getText()+"','"+ID.getText()+"')");
  if (k==1&&k1==1&&k2==1) {
  int result1=JOptionPane.showConfirmDialog(null, "入住成功!是否添加家属信息?", "温馨提示", JOptionPane.YES_NO_OPTION);
  if(result1==0){
  ID.setText("");
  sname.setText("");
  age.setText("");
  home_addr.setText("");
  phone.setText("");
  employer.setText("");
  }
  else {
  dispose();
  }
 }
  }catch(Exception e1){
  JOptionPane.showMessageDialog(this, "入住失败");
  }
 }
 }
 if(e.getSource()==cancel){
 dispose();
 }
 
 if(e.getSource()==save1){
 int result=JOptionPane.showConfirmDialog(null, "确认提交吗", "温馨提示", JOptionPane.YES_NO_OPTION);
 if (result==0) {
 if(man.isSelected()){ 
  sex="男";
  } 
 else{ 
  sex="女";
  } 
 if(yes.isSelected()){ 
  vip="是";
  } 
 else{ 
  vip="否";
  }
 try
  {
  Class.forName(Url.driver);
  Connection con=DriverManager.getConnection(Url.url,Url.username,Url.userpwd);
  Statement sql=con.createStatement();
  k=sql.executeUpdate("insert into Client values('"+sname.getText()+"','"+ID.getText()+"','"+sex+"','"+age.getText()+"','"+home_addr.getText()+"','"+employer.getText()+"','"+vip+"','"+phone.getText()+"')");
  k2=sql.executeUpdate("insert into Type_in values('"+cno.getText()+"','"+ID.getText()+"')");
  if (k==1&&k2==1) {
  int result1=JOptionPane.showConfirmDialog(null, "入住成功!是否继续添加家人信息?", "温馨提示", JOptionPane.YES_NO_OPTION);
  if(result1==0){
  ID.setText("");
  sname.setText("");
  age.setText("");
  home_addr.setText("");
  phone.setText("");
  employer.setText("");
  }
  else {
  dispose();
  }
 }
  }catch(Exception e1){
  JOptionPane.showMessageDialog(this, "添加失败");
  }
 }
 }
 
 
 }
}

AdminFrame.java

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

class AdminFrame extends JDialog implements ActionListener{
 JLabel label = new JLabel();
 JMenuBar mBar= new JMenuBar();
 private JMenu Quarto,message,Clinet;
 private JMenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9;
 JPanel pl1;
 Container con;
 AdminFrame(){
 pl1=new JPanel();
 setJMenuBar(mBar);
 ImageIcon icon = new ImageIcon("src/picture/1.jpg");
 label.setIcon(icon);
 label.setBounds(0,0, 600, 500);
 pl1.add(label);
 add(pl1);
 setBounds(600,300,600,500);
 
 Quarto=new JMenu("客房操作");
 message=new JMenu("信息查询");
 Clinet=new JMenu("统计客房相关信息");
 mBar.add(Quarto);
 mBar.add(message);
 mBar.add(Clinet);
 item3=new JMenuItem("查询客房");
 item1=new JMenuItem("入住登记"); 
 item2=new JMenuItem("退房操作");
 Quarto.add(item1);
 Quarto.addSeparator();
 Quarto.add(item2);
 Quarto.addSeparator();
 Quarto.add(item3);
 item4=new JMenuItem("客人信息查询");
 item5=new JMenuItem("客房时间查询");
 item6=new JMenuItem("客人费用查询");
 message.add(item4);
 message.addSeparator();
 message.add(item5);
 message.addSeparator();
 message.add(item6);
 item7=new JMenuItem("各类房型入住情况");
 item8=new JMenuItem("各月份客房收入");
 Clinet.add(item7);
 Clinet.addSeparator();
 Clinet.add(item8);
 item1.addActionListener(this);
 item2.addActionListener(this);
 item3.addActionListener(this);
 item4.addActionListener(this);
 item5.addActionListener(this);
 item6.addActionListener(this);
 item7.addActionListener(this);
 item8.addActionListener(this);
 setVisible(false);
 setTitle("客房管理系统");
 validate();
 }
 @Override
 public void actionPerformed(ActionEvent e) {
 if(e.getSource()==item1){
 AddClient stu=new AddClient();
 stu.setVisible(true);
 }
 
 if(e.getSource()==item2){
 Left left=new Left();
 left.setVisible(true);
 }
 
 if (e.getSource()==item3) {
 QueryRoom qr=new QueryRoom();
 qr.setVisible(true);
 }
 if (e.getSource()==item4) {
 QueryClient qc=new QueryClient();
 qc.setVisible(true);
 }
 
 if(e.getSource()==item5){
 QueryTime qt=new QueryTime();
 qt.setVisible(true);
 }
 
 if(e.getSource()==item6){
 QueryCost qc=new QueryCost();
 qc.setVisible(true);
 }
 
 if(e.getSource()==item7){
 StatisticsInformation si=new StatisticsInformation();
 si.setVisible(true);
 }
 
 if(e.getSource()==item8){
 Income income=new Income();
 income.setVisible(true);
 }
}
}

完整代码:java实现客房管理系统

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
author-avatar
平凡天使zj
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有