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中的HttpServletRequestWrapper用法解析

    Java中的HttpServletRequestWrapper用法解析

    这篇文章主要介绍了Java中的HttpServletRequestWrapper用法解析,HttpServletRequest 对参数值的获取实际调的是org.apache.catalina.connector.Request,没有提供对应的set方法修改属性,所以不能对前端传来的参数进行修改,需要的朋友可以参考下
    2024-01-01
  • Java 在游戏中探索数组二维数组

    Java 在游戏中探索数组二维数组

    数组和二维数组感觉用王者荣耀的装备栏来举例解释,应该更易懂一些。从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助
    2022-03-03
  • 详解AngularJs与SpringMVC简单结合使用

    详解AngularJs与SpringMVC简单结合使用

    本篇文章主要介绍了AngularJs与SpringMVC简单结合使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Spring Data Elasticsearch 5.x实现单词纠错和自动补全

    Spring Data Elasticsearch 5.x实现单词纠错和自动补全

    这篇文章主要为大家介绍了Spring Data Elasticsearch 5.x实现单词纠错和自动补全示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • SpringMvc返回modelandview返回的页面无法跳转问题及解决

    SpringMvc返回modelandview返回的页面无法跳转问题及解决

    这篇文章主要介绍了SpringMvc返回modelandview返回的页面无法跳转问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 基于SPRINGBOOT配置文件占位符过程解析

    基于SPRINGBOOT配置文件占位符过程解析

    这篇文章主要介绍了基于SPRINGBOOT配置文件占位符过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring注解@Qualifier的使用&&与@Primary注解的不同

    Spring注解@Qualifier的使用&&与@Primary注解的不同

    今天带你了解一下Spring框架中的@Qualifier 注解,它解决了哪些问题,以及如何使用它,我们还将了解它与 @Primary 注解的不同之处,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • java中Servlet处理乱码的方法

    java中Servlet处理乱码的方法

    java中Servlet处理乱码的方法,需要的朋友可以参考一下
    2013-03-03
  • Java使用CompletableFuture进行非阻塞IO详解

    Java使用CompletableFuture进行非阻塞IO详解

    这篇文章主要介绍了Java使用CompletableFuture进行非阻塞IO详解,CompletableFuture是Java中的一个类,用于支持异步编程和处理异步任务的结果,它提供了一种方便的方式来处理异步操作,并允许我们以非阻塞的方式执行任务,需要的朋友可以参考下
    2023-09-09
  • java处理异常的机制关键字throw和throws使用解析

    java处理异常的机制关键字throw和throws使用解析

    这篇文章主要介绍了java处理异常的机制关键字throw和throws使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论