文章目录

  • 数据库设计
  • Admin.java
  • Login_Register.java
  • Login.java
  • AdminRegister.java
  • Register.java
  • 代码
    • Admin.java
    • Login_Register.java
    • Login.java
    • AdminRegister.java
    • Register.java

数据库设计

既然只是一个登录和注册的界面,数据库方面就只设计一个Admin表,表内有三个值。

id就存登录所需要的账号;
name存名字;
password存储密码

Admin.java

这个类代表用户的实体类,包含三个变量,并对其进行封装

 private String id;                 //帐号private String name;           //姓名private String password;      //密码

Login_Register.java

主程序的入口,创建一个JFrame窗口,窗口包括两个待输入的文本框,以及登录和注册两个按钮。
其中代码框使用JPasswordField类,这样就会使密码文本框中的内容显示星号。
为登录和注册加监听器。

Login.java

Login_Register中点击登录按钮后就会创建一个新的Login类,该类中会有一个JudgeAdmin方法,用于连接数据库,判断账号密码是否正确。
如果账号正确,会弹出登录成功的窗口,否则弹出账号或密码错误的窗口。

AdminRegister.java

用户注册的图形化界面,包含四个文本框和一个注册按钮。当点击注册按钮时,会创建一个新的Register类,把文本框中的变量传入Register类。

Register.java

用于判断传来的数据是否符合规则,并向数据库添加新用户,
当用户名和账号为空时,会弹出相应的窗口。

并且要求密码框和确认密码框中的密码完全一致,否则不能注册。
如果所有的条件都满足,向数据库中添加数据,并弹出注册成功的窗口。

代码

Admin.java

package src;
/*
管理员实体
*/public class Admin {private String id;                 //编号private String name;           //姓名private String password;      //密码void setID(String id) {this.id=id;}void setName(String name) {this.name=name;}void setPassword(String password) {this.password=password;}String getID() {return this.id;}String getName() {return this.name;}String getPassword() {return this.password;}}

Login_Register.java

package src;import java.awt.Color;
import java.awt.FlowLayout;
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.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;public class Login_Register extends JFrame{    Login_Register() {init();}//登录界面初始化public void init() {JFrame frame = new JFrame("登录");frame.setLayout(null);JLabel nameStr = new JLabel("账号:");nameStr.setBounds(250, 200, 100, 25);frame.add(nameStr);JLabel passwordStr = new JLabel("密码:");passwordStr.setBounds(250, 250, 100, 25);frame.add(passwordStr);  JTextField userID = new JTextField();userID.setBounds(300, 200, 150, 25);frame.add(userID);JPasswordField password = new JPasswordField();password.setBounds(300, 250, 150, 25);frame.add(password);JButton buttonlogin = new JButton("登录");buttonlogin.setBounds(275, 300, 70, 25);frame.add(buttonlogin);JButton buttonregister = new JButton("注册");buttonregister.setBounds(375, 300, 70, 25);frame.add(buttonregister);  frame.setBounds(400, 100, 800, 640);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);//为登录按钮添加监听器buttonlogin.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {String ID = userID.getText();String passwd = new String (password.getPassword());//创建一个Admin用户,把输入框中的用户名密码和提出来Admin admin = new Admin();admin.setID(ID);admin.setPassword(passwd);//登录Login login = new Login();login.setAdmin(admin);if(login.JudgeAdmin()==0) {//弹出账号或密码错误的窗口JOptionPane.showMessageDialog(null, "账号或密码错误", "账号或密码错误", JOptionPane.WARNING_MESSAGE);//清除密码框中的信息password.setText("");//清除账号框中的信息userID.setText("");//System.out.println("登陆失败");} else {//弹出登录成功的窗口JOptionPane.showMessageDialog(null, "登陆成功", "登陆成功", JOptionPane.NO_OPTION);//点击确定后会跳转到主窗口frame.setVisible(false);}}});//为注册按钮添加监听器buttonregister.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {//注册页面frame.setVisible(false);AdminRegister ar = new AdminRegister(); }});}public static void main(String []args) { //主程序//登录窗口Login_Register login_register = new Login_Register();}
}

Login.java

package src;
/*
处理用户登录
*/import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class Login {Admin admin;void setAdmin(Admin admin) {this.admin=admin;//System.out.println(this.admin.getPassword()+"   " + this.admin.getID());}/** JudgeAdmin()方法* 判断Admin的ID和密码是否正确,如果正确,显示登录成功* 如果错误,弹出一个窗口,显示账号或密码错误*/private String driver = "com.mysql.cj.jdbc.Driver";private String url = "jdbc:mysql://localhost:3306/hotelsql?serverTimezone=UTC&characterEncoding=utf-8";private String user = "root";private String password = "12481632";public boolean login(Admin admin) throws SQLException, ClassNotFoundException {String sql="select * from admin where id=? and password=?";Class.forName(driver);Connection conn = DriverManager.getConnection(url, user, password);PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, admin.getID());ps.setString(2, admin.getPassword());ResultSet rs = ps.executeQuery();int ans = 0;if(rs.next()) {ans = 1;}  rs.close();ps.close();conn.close();if(ans == 1) {return true;}else return false;}int JudgeAdmin() {try {if(login(this.admin)) {System.out.println("登录成功");return 1;}else {return 0;}}catch(Exception e) {//e.printStackTrace();//System.out.println("!!!!!!!!!");}return 0;}
}

AdminRegister.java

package src;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;/** 管理员注册界面* */
public class AdminRegister extends JFrame{AdminRegister () {init();}void init() {JFrame frame = new JFrame("注册管理员账号");frame.setLayout(null);JLabel nameStr = new JLabel("用户名:");nameStr.setBounds(250, 150, 100, 25);frame.add(nameStr);JLabel IDStr = new JLabel("账号:");IDStr.setBounds(250, 200, 100, 25);frame.add(IDStr);JLabel passwordStr = new JLabel("密码:");passwordStr.setBounds(250, 250, 100, 25);frame.add(passwordStr);  JLabel confrimStr = new JLabel("确认密码:");confrimStr.setBounds(250, 300, 100, 30);frame.add(confrimStr);JTextField userName = new JTextField();userName.setBounds(320, 150, 150, 25);frame.add(userName);JTextField userID = new JTextField();userID.setBounds(320, 200, 150, 25);frame.add(userID);JPasswordField password = new JPasswordField();password.setBounds(320, 250, 150, 25);frame.add(password);JPasswordField confrimPassword = new JPasswordField();confrimPassword.setBounds(320, 300, 150, 25);frame.add(confrimPassword);JButton buttonregister = new JButton("注册");buttonregister.setBounds(350, 350, 70, 25);frame.add(buttonregister);frame.setBounds(400, 100, 800, 640);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);//为注册按钮增加监听器buttonregister.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String name = userName.getText();String ID = userID.getText();String passwd = new String (password.getPassword());String confrimpasswd = new String (confrimPassword.getPassword());//创建Register类Register register = new Register();register.setID(ID);register.setName(name);register.setPassword(passwd);register.setconfirmpasswd(confrimpasswd);//如果注册成功,返回登录界面try {if(register.JudgeRegister()) {frame.setVisible(false);Login_Register login_register = new Login_Register();}} catch (SQLException e1) {// TODO Auto-generated catch block//e1.printStackTrace();} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});}
}

Register.java

package src;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;import javax.swing.JOptionPane;public class Register {String name;String ID;String password;String confirmpassword;private String driver = "com.mysql.cj.jdbc.Driver";private String url = "jdbc:mysql://localhost:3306/hotelsql?serverTimezone=UTC&characterEncoding=utf-8";private String user = "root";private String sqlpassword = "12481632";void setName(String name) {this.name = name;}void setID(String ID) {this.ID = ID;}void setPassword(String password) {this.password = password;}void setconfirmpasswd(String confirmpassword) {this.confirmpassword = confirmpassword;}//判断注册的账号是否符合规则boolean JudgeRegister() throws SQLException, ClassNotFoundException {if(this.name.equals("")) {JOptionPane.showMessageDialog(null, "用户名不能为空!", "用户名", JOptionPane.ERROR_MESSAGE);return false;}if(this.ID.equals("")) {JOptionPane.showMessageDialog(null, "账号不能为空!", "账号为空", JOptionPane.ERROR_MESSAGE);return false;}if(this.password.equals("")) {JOptionPane.showMessageDialog(null, "密码不能为空!", "密码为空", JOptionPane.ERROR_MESSAGE);return false;}if(!this.password.equals(this.confirmpassword)) {JOptionPane.showMessageDialog(null, "两次输入的密码不一致!", "密码不一致", JOptionPane.ERROR_MESSAGE);return false;}//符合规则,弹出注册成功的窗口,并将账号添加数据库JOptionPane.showMessageDialog(null, "注册成功");addAdmin();return true;}//向数据库添加Admin账户void addAdmin() throws ClassNotFoundException, SQLException {String sql="insert into admin (id, name, password) values (?,?,?)";Class.forName(driver);try {Connection conn = DriverManager.getConnection(url, user, sqlpassword);PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, this.ID);ps.setString(2, this.name);ps.setString(3, this.password);ps.executeUpdate();ps.close();  conn.close();}catch(SQLException ex) {System.out.println("添加用户失败!");}}
}

java实现登录注册界面相关推荐

  1. Android开发:登录/注册界面的编写

    目录 新建一个空项目(或Activity) 在xml中绘制登录界面 关掉ActionBar 运行(最终效果图) 后记 在实际开发中,几乎所有的APP都会涉及到用户注册/登录页面的制作,因此本文以And ...

  2. 【Vue作业]---Vue登录注册界面

    1.引言 你是否有过相关设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题.你想要解决 ...

  3. python做一个登录注册界面_Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  4. Lance老师UI系列教程第三课-QQ登录注册界面的实现(android-2012最新版)

    分类: android UI教程2012-08-06 22:37 3731人阅读 评论(6) 收藏 举报 uiandroidqqlayoutbutton UI系列教程第三课:腾讯登录注册界面的实现 今 ...

  5. AndroidStudio实现用户登录注册界面代码(一)

    首先使用Android Studio的布局文件xml实现界面设计 第一步:新建工程项目MyAPP 选择Empty Activity 点击"下一步" 1.在res/layout/ac ...

  6. Android用户登录注册界面

    用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...

  7. 安卓登录注册界面开发(附源码)

    源码下载和博客访问:安卓登录注册界面开发(附源码) 前言 最近找安卓登录注册界面,找了好久也没找到比较满意的设计,最后想想其实登录和注册两个界面也不复杂,干脆花点时间自己弄. 界面预览 最后的效果如下 ...

  8. 小编程(三):用户登录注册界面开发及用户信息管理案例代码详解

    用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...

  9. php mysql注册登录界面_php实现登录注册界面

    php实现登录注册界面 首先你要搭建一个自己的数据库 我用wamp64创了一个people的数据库 具体操作可以参考该搭建链接: 这里就讲下我实现的功能代码: 创建sql.func.php实现一些基本 ...

  10. 右侧按钮登录注册html,翻转式用户登录注册界面设计

    这是一款非常实用的翻转式用户登录注册界面设计效果.该用户登录注册界面使用纯CSS3来制作,在用户点击登录和注册两个按钮时,登录和注册界面可以以水平翻转的方式来回切换,效果非常的酷. 制作方法 HTML ...

最新文章

  1. [LeetCode] Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串...
  2. BATJ 常考的 21 条 Linux 命令
  3. Nat. Commun. | 训练人工智能以发现与疾病相关的基因
  4. Underscore实例教程
  5. 监督学习——随机梯度下降算法(sgd)和批梯度下降算法(bgd)
  6. airpods有时能连上有时连不上怎么办?
  7. 被阻塞的线程唤醒后的逻辑
  8. 【转】MySQL索引和查询优化
  9. 【空间统计】0 空间统计基础理论
  10. Ubuntu14.04桌面版 apt-get 方式安装LNMP
  11. Python 贪吃蛇 代码
  12. fso 拒绝访问_CTBS问题及解决.docx
  13. TOP Network技术总监Justin:TOP公链已率先实现多层状态分片
  14. 集成calibre到cadence virtuoso环境中 load: can‘t access file - “/opt/eda/Mentor/lib/calibre.skl“
  15. android实现 桌面移动悬浮窗口实现
  16. 第三章 ---- 了解各种 Linux 文本编辑器
  17. MP4/QuickTime的“ftyp” 名称完整列表
  18. python模型训练_python模型训练与预测练习
  19. 利用Java+DOS批处理实现网站刷流量
  20. 解决火狐下载文件完成,需要等待后才能打开的问题

热门文章

  1. flutter 手机定位
  2. android l x64,64位 Android L有9大亮点
  3. IT行业什么岗位最吃香
  4. CentOs下安装pip3
  5. 南充一中2021成绩查询高考,2019高考喜报汇总
  6. 解决笔记本WIFI共享网络给黑群晖
  7. 2021-07-06
  8. python爬取百度的工具_Python爬虫之小试牛刀——使用Python抓取百度街景图像
  9. 有道云笔记怎么保存html,有道云笔记如何保存网页 有道笔记保存页面教程
  10. 杭州电子科技大学acm--2021