热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java酒店管理系统_java酒店管理系统(源码+数据库脚本)

【实例简介】一个很基础的Java实例,实现最基础的增删改查【实例截图】账号:01101密码:1234【核心代码】packagecom.sq

【实例简介】一个很基础的Java实例,实现最基础的增删改查

【实例截图】

账号:01101  密码:1234

2fd048313f616250dfbdb65551a92dbb.png

caea77ccbbd021ca94f016ded039160d.png

fecadd5244f7c1427f84273f2376a110.png

ce7a3edcaa455b5dc30d72f87485814d.png

5b1607a78a17fb6f9185cfdbdf47c6c0.png

e369546c2f39ab7fa2b23b2ff9f667e1.png

【核心代码】

package com.sqc.view;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.border.EmptyBorder;

import com.sqc.dao.UserDao;

import com.sqc.model.User;

import com.sqc.util.DbUtil;

import com.sqc.util.StringUtil;

import javax.swing.GroupLayout;

import javax.swing.GroupLayout.Alignment;

import javax.swing.BoxLayout;

import java.awt.FlowLayout;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import javax.swing.ImageIcon;

import javax.swing.JTextField;

import javax.swing.LayoutStyle.ComponentPlacement;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.awt.event.ActionEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

public class LoginFra extends JFrame {

private JPanel contentPane;

private JTextField userName_text;

private JPasswordField password_text;

private DbUtil dbUtil=new DbUtil();

private UserDao userDao=new UserDao();

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

LoginFra frame = new LoginFra();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public LoginFra() {

setTitle("\u6854\u5B50\u9152\u5E97\u7BA1\u7406\u7CFB\u7EDF");

setResizable(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 557, 444);

cOntentPane= new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

JLabel password = new JLabel("\u5458\u5DE5\u53F7\uFF1A");

password.setFont(new Font("华文行楷", Font.PLAIN, 18));

password.setIcon(new ImageIcon(LoginFra.class.getResource("/image/head.png")));

JLabel label = new JLabel("\u5BC6 \u7801\uFF1A");

label.setFont(new Font("华文行楷", Font.PLAIN, 18));

label.setIcon(new ImageIcon(LoginFra.class.getResource("/image/password.png")));

userName_text = new JTextField();

userName_text.setColumns(10);

JButton btn_login = new JButton("\u767B \u5F55");

btn_login.setIcon(new ImageIcon(LoginFra.class.getResource("/image/accept.png")));

btn_login.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

loginActionPerformed(e);

}

});

btn_login.setFont(new Font("微软雅黑", Font.PLAIN, 18));

JButton btn_cancel = new JButton("\u6E05 \u9664");

btn_cancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

btn_cancelActionPerformed(e);

}

});

btn_cancel.setIcon(new ImageIcon(LoginFra.class.getResource("/image/refersh.png")));

btn_cancel.setFont(new Font("微软雅黑", Font.PLAIN, 18));

password_text = new JPasswordField();

JButton btnNewButton = new JButton("");

btnNewButton.setIcon(new ImageIcon(LoginFra.class.getResource("/image/theme.jpg")));

GroupLayout gl_cOntentPane= new GroupLayout(contentPane);

gl_contentPane.setHorizontalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup()

.addGap(69)

.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)

.addComponent(label)

.addComponent(password))

.addGap(39)

.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)

.addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 148, GroupLayout.PREFERRED_SIZE)

.addComponent(userName_text, GroupLayout.DEFAULT_SIZE, 202, Short.MAX_VALUE)

.addComponent(password_text))

.addContainerGap(127, Short.MAX_VALUE))

.addGroup(gl_contentPane.createSequentialGroup()

.addGap(93)

.addComponent(btn_login)

.addPreferredGap(ComponentPlacement.RELATED, 79, Short.MAX_VALUE)

.addComponent(btn_cancel, GroupLayout.PREFERRED_SIZE, 151, GroupLayout.PREFERRED_SIZE)

.addGap(67))

);

gl_contentPane.setVerticalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup()

.addGap(33)

.addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 134, GroupLayout.PREFERRED_SIZE)

.addGap(27)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(password)

.addComponent(userName_text, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))

.addGap(40)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(label)

.addComponent(password_text, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))

.addPreferredGap(ComponentPlacement.RELATED, 21, Short.MAX_VALUE)

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(btn_login)

.addComponent(btn_cancel, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE))

.addGap(37))

);

contentPane.setLayout(gl_contentPane);

}

/**

* 登录事件处理

* @param e

*/

private void loginActionPerformed(ActionEvent evt) {

String userName=this.userName_text.getText();

String password=new String(this.password_text.getPassword());

if(StringUtil.isEmpty(userName)){

JOptionPane.showMessageDialog(null, "用户名不能为空!");

return;

}

if(StringUtil.isEmpty(password)){

JOptionPane.showMessageDialog(null, "密码不能为空!");

return;

}

User user=new User(userName,password);

Connection con=null;

try {

con=dbUtil.getCon();

User currentUser=userDao.login(con, user);

if(currentUser!=null){

dispose();

new MainFra().setVisible(true);

}else{

JOptionPane.showMessageDialog(null, "用户名或者密码错误!");

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

try {

dbUtil.closeCon(con);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

/**

* 重置事件处理

* @param e

*/

private void btn_cancelActionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

this.userName_text.setText("");

this.password_text.setText("");

}

}



推荐阅读
  • 深入解析Android中的SQLite数据库使用
    本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • 本文介绍了如何使用JFreeChart库创建一个美观且功能丰富的环形图。通过设置主题、字体和颜色等属性,可以生成符合特定需求的图表。 ... [详细]
  • 本文介绍如何在Windows Forms应用程序中使用C#实现DataGridView的多列排序功能,包括升序和降序排序。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • ------------------------------————————————————————————————1.定义一个类,实现与被增强对象相同的接口2.在类中定义一个对象,记住被增强 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 本文详细探讨了Android Activity中View的绘制流程和动画机制,包括Activity的生命周期、View的测量、布局和绘制过程以及动画对View的影响。通过实验验证,澄清了一些常见的误解,并提供了代码示例和执行结果。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本篇文章介绍如何将两个分别表示整数的链表进行相加,并生成一个新的链表。每个链表节点包含0到9的数值,如9-3-7和6-3相加得到1-0-0-0。通过反向处理链表、逐位相加并处理进位,最终再将结果链表反向,即可完成计算。 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
author-avatar
aspzc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有