Java实现酒店客房管理系统

 更新时间:2022年03月17日 09:12:13   作者:Beat_IT_W  
这篇文章主要为大家详细介绍了Java实现酒店客房管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

LoginFrame.java

package loginManage;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
import com.swtdesigner.SwingResourceManager;

import db.JDBC;
public class LoginFrame {

 private JLabel label;
 private JButton button;
 private JButton btnregister;
 private JButton btnreset;
 private JButton btnlogin;
 private JLabel labpwd;
 private JLabel labUserName;
 private JPasswordField textpwd;
 private JTextField textUsername;
 public JFrame frame;

 
 public static void main(String args[]) {
 EventQueue.invokeLater(new Runnable() {
  public void run() {
  try {
   LoginFrame window = new LoginFrame();
   
   window.frame.setVisible(true);
  } catch (Exception e) {
   e.printStackTrace();
  }
  }
 });
 }

 
 public LoginFrame() {
 createContents();
 }

 
 private void createContents() {
 frame = new JFrame();
 frame.setTitle("登录");
 frame.getContentPane().setFocusCycleRoot(true);
 frame.getContentPane().setBackground(Color.LIGHT_GRAY);
 frame.getContentPane().setLayout(null);
 frame.setBounds(400, 150, 490, 375);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 btnlogin = new JButton();
 btnlogin.addActionListener(new ActionListener() {
  public void actionPerformed(final ActionEvent arg0) {
  String name = textUsername.getText().trim();
  String password = textpwd.getText().trim();
  Connection conn = null;
  PreparedStatement pstmt=null;
  ResultSet rs=null;
  int flag=0;
  if(name.equals("")||password.equals("")){
   flag=2;
  }
  int right=0;
  try {
   String sql = "select * from login where userName=?";
    conn = (Connection)JDBC.getConnection();
    pstmt= (PreparedStatement)conn.prepareStatement(sql);
    pstmt.setString(1, name);
    rs=(ResultSet) pstmt.executeQuery();
    while(rs.next()){
     String userName=rs.getString("userName");
     String passWord=rs.getString("passWord");
     right=rs.getInt("admin");
     if(userName.equals(name)&&passWord.equals(password)){
     flag = 1;
     }
    }
    switch(flag){
     case 1:
     if((right==1)){
       BackRun admin = new BackRun();
       admin.frame.setVisible(true);
       frame.setVisible(false);
       break;
      }else{
       FrontRun admin= new FrontRun();
       admin.frame.setVisible(true);
       frame.setVisible(false);
       break;
     }
     case 2:
    JOptionPane.showMessageDialog(btnlogin ,"用户名或密码不能为空,请您重新输入!");
       break;
     default: 
       JOptionPane.showMessageDialog(btnlogin ,"用户名或密码 不正确,请您重新输入!");
       break;

     }
     
     
     
    } catch (Exception e) {
   e.printStackTrace();
   }
    
   
   
  
  }
 });
 
  
  
 btnlogin.setText(" 登陆");
 btnlogin.setBounds(75, 215, 83, 28);
 frame.getContentPane().add(btnlogin);

 btnreset = new JButton();
 btnreset.addActionListener(new ActionListener() {
  public void actionPerformed(final ActionEvent arg0) {
  textUsername.setText("");
  textpwd.setText("");
  
  }
 });
 btnreset.setText("重置");
 btnreset.setBounds(195, 215, 83, 28);
 frame.getContentPane().add(btnreset);

 labUserName = new JLabel();
 labUserName.setText("用户名:");
 labUserName.setBounds(75, 130, 52, 18);
 frame.getContentPane().add(labUserName);

 labpwd = new JLabel();
 labpwd.setText("密  码:");
 labpwd.setBounds(75, 175, 66, 18);
 frame.getContentPane().add(labpwd);

 textUsername = new JTextField();
 textUsername.setBounds(145, 130, 188, 22);
 frame.getContentPane().add(textUsername);

 textpwd = new JPasswordField();
 textpwd.setBounds(145, 170, 188, 22);
 frame.getContentPane().add(textpwd);

 btnregister = new JButton();
 btnregister.addActionListener(new ActionListener() {
  public void actionPerformed(final ActionEvent arg0) {
  Register rs = new Register();
  rs.frame.setVisible(true);
  }
 });
 btnregister.setText("注册");
 btnregister.setBounds(270, 270, 81, 28);
 frame.getContentPane().add(btnregister);

 button = new JButton();
 button.addActionListener(new ActionListener() {
  public void actionPerformed(final ActionEvent arg0) {
  System.exit(0);
  }
 });
 button.setText("退出");
 button.setBounds(310, 215, 83, 28);
 frame.getContentPane().add(button);

 label = new JLabel();
 label.setText("还没有账号?赶快点击注册吧!");
 label.setBounds(85, 275, 181, 33);
 frame.getContentPane().add(label);

} 
}

Register.java

package loginManage;

import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.mysql.jdbc.PreparedStatement;
import com.swtdesigner.SwingResourceManager;
public class Register {
 private JButton button;
 private JButton btnregister;
 private JLabel labpwd;
 private JLabel labUserName;
 private JPasswordField textpwd;
 private JTextField textUsername;
 public JFrame frame;
  public boolean flag=false; 
 
 public static void main(String args[]) {
 EventQueue.invokeLater(new Runnable() {
  public void run() {
  try {
   Register window = new Register();
   
   window.frame.setVisible(true);
  } catch (Exception e) {
   e.printStackTrace();
  }
  }
 });
 }

 
 public Register() {
 createContents();
 }

 
 private void createContents() {
 
 
 frame = new JFrame();
 frame.getContentPane().setFocusCycleRoot(true);
 frame.getContentPane().setBackground(Color.LIGHT_GRAY);
 frame.getContentPane().setLayout(null);
 frame.setBounds(350, 150, 500, 375);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 labUserName = new JLabel();
 labUserName.setText("用户名:");
 labUserName.setBounds(109, 182, 52, 18);
 frame.getContentPane().add(labUserName);

 labpwd = new JLabel();
 labpwd.setText("密  码:");
 labpwd.setBounds(109, 224, 66, 18);
 frame.getContentPane().add(labpwd);

 textUsername = new JTextField();
 textUsername.setBounds(190, 180, 188, 22);
 frame.getContentPane().add(textUsername);

 textpwd = new JPasswordField();
 textpwd.setBounds(190, 222, 188, 22);
 frame.getContentPane().add(textpwd);

 btnregister = new JButton();
 btnregister.addActionListener(new ActionListener() {
  @SuppressWarnings("deprecation")
  public void actionPerformed(final ActionEvent arg0) {

  PreparedStatement st=null;
  Connection con =null;
  String sqlStr="insert into login(userName,passWord) values(?,?)";
  try {
   Class.forName("com.mysql.jdbc.Driver");
  } catch (ClassNotFoundException e1) {
   e1.printStackTrace();
  }
  try {
   con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hotel","root","125800");
   st = (PreparedStatement) con.prepareStatement(sqlStr);

  } catch (SQLException e1) {
   e1.printStackTrace();
  }
  
  String name = textUsername.getText().trim();
  String password = textpwd.getText().trim(); 
  if(name.equals("")||password.equals("")){
   JOptionPane.showMessageDialog(btnregister ,"用户名或密码不能为空,请您重新输入!");

  }else{
  try {
   st.setString(1,name);
   st.setString(2,password);
   st.execute();
   flag=true;
   if(flag){
   JOptionPane.showMessageDialog(btnregister, "注册成功\n点确定返回登录界面");
   LoginFrame backMain=new LoginFrame();
   backMain.frame.setVisible(true);
   frame.setVisible(false);
   }else{
   JOptionPane.showMessageDialog(btnregister, "注册失败\n点确定返回登录界面");
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
  }
//   JOptionPane.showMessageDialog(btnregister, "注册成功\n点确定返回登录界面");
//   loginFrame backMain=new loginFrame();
//   backMain.frame.setVisible(true);
//   frame.setVisible(false);

    try {
   st.close();
   con.close();

  } catch (SQLException e1) {
   e1.printStackTrace();
  }
     

  }
 });
 btnregister.setText("提交");
 btnregister.setBounds(162, 268, 95, 28);
 frame.getContentPane().add(btnregister);

 button = new JButton();
 button.addActionListener(new ActionListener() {
  public void actionPerformed(final ActionEvent arg0) {
    frame.setVisible(false);

  }
 });
 button.setText("返回");
 button.setBounds(283, 268, 95, 28);
 frame.getContentPane().add(button);

 final JLabel label = new JLabel();
 label.setIcon(SwingResourceManager.getIcon(Register.class, "/648.gif"));
 label.setBounds(0, 0, 492, 341);
 frame.getContentPane().add(label);
// frame.getContentPane().setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[] {labUserName, labpwd, btnregister, textUsername, textpwd, button}));

 }


}

完整代码:Java实现酒店客房管理系统

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

相关文章

  • Java深度优先遍历解决排列组合问题详解

    Java深度优先遍历解决排列组合问题详解

    这篇文章主要介绍了Java深度优先遍历解决排列组合问题详解,深度优先搜索是递归过程,带有回退操作,因此需要使用栈存储访问的路径信息,当访问到的当前顶点没有可以前进的邻接顶点时,需要进行出栈操作,将当前位置回退至出栈元素位置,需要的朋友可以参考下
    2024-01-01
  • Spring Boot(二)之web综合开发

    Spring Boot(二)之web综合开发

    本篇文章为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明
    2017-05-05
  • 关于Java创建线程的2种方式以及对比

    关于Java创建线程的2种方式以及对比

    这篇文章主要给大家介绍了关于Java创建线程的2种方式以及对比的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • Spring源码解析后置处理器梳理总结

    Spring源码解析后置处理器梳理总结

    这篇文章主要介绍了Spring源码解析后置处理器梳理总结,在前面几篇文章中梳理了Spring中bean的创建过程,在这个过程中各式各样的后置处理器发挥了不同的作用,可以说后置处理器贯穿了bean的实例化以及初始化过程
    2022-07-07
  • Java编码摘要算法实例解析

    Java编码摘要算法实例解析

    这篇文章主要介绍了Java编码摘要算法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • java编程之基于SpringBoot框架实现扫码登录

    java编程之基于SpringBoot框架实现扫码登录

    本文将介绍基于SpringBoot + Vue + Android实现的扫码登录demo的总体思路,文中附含详细示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • Java嵌套for循环优化方案分享

    Java嵌套for循环优化方案分享

    介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通过这些方法,可以显著提升程序的执行效率,文章还以动态规划优化示例——最长递增子序列
    2025-03-03
  • Java对象的内存布局全流程

    Java对象的内存布局全流程

    这篇文章主要介绍了Java对象的内存布局全流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Spring详细讲解循环依赖是什么

    Spring详细讲解循环依赖是什么

    这篇文章主要介绍了Java中的Spring循环依赖详情,文章基于Java的相关资料展开详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • JAVA中常用的数据结构和XML使用解析

    JAVA中常用的数据结构和XML使用解析

    这篇文章主要介绍了JAVA中常用的数据结构和XML使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04

最新评论