Swing中用户的登陆界面与注册(连MySQL数据库)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 近期写了一个小项目,需要用到用户的登陆界面与注册我将登陆界面和注册界面分开来写

近期写了一个小项目,需要用到用户的登陆界面与注册

我将登陆界面和注册界面分开来写

先看登陆界面,代码如下:

//        注册buttonOK(登陆的按钮)的ActionEvent事件监听
        buttonOK.addActionListener(e -> {
//            从账号框中取出账号
            String accountidtxt = txtAccountId.getText();
//            创建AccountDaoImp对象
            AccountDao accountDao = new AccountDaoImp();
//            通过AccountDaoImp对象调用findByid,该方法通过用户账号查询数据库信息
            Account account = accountDao.findByid(accountidtxt);
//            从密码框中取出密码
            String passwordText =new String(txtPassword.getPassword());
//              判断账号密码是否正确,如果对象account返回的不为空,并且账号的密码和数据库中的密码一样,则说明账号登陆成功
            if (account != null && passwordText.equals(account.getPassword())){
                System.out.println("登陆成功!");
//这里要修改
            }
//            如果输入的账号密码都为空,则弹出创建账号为空标签
            else if (accountidtxt.isEmpty() || passwordText.isEmpty()){
//                账号为空标签
                JLabel label = new JLabel("注册账号或密码不能为空,请您重新登陆!!");
                label.setFont(new Font("微软雅黑",Font.PLAIN,15));
//                 创建提示框
                JOptionPane.showMessageDialog(null,label,"登陆失败",JOptionPane.PLAIN_MESSAGE);
            }
//            反之的登陆失败
            else {
//                创建账号密码错误标签
                JLabel label = new JLabel("您输入的账号或密码有误,请重新输入!");
                label.setFont(new Font("微软雅黑",Font.PLAIN,15));
//                 创建提示框
                JOptionPane.showMessageDialog(null,label,"登陆失败",JOptionPane.PLAIN_MESSAGE);
            }
        });

这里只重点写了如何验证用户的登陆,放在了一个监听事件里面,其他的地方大同小异。

6.png7.png


再看登陆界面,代码如下:

//        注册buttonOK1(注册的按钮)的ActionEvent事件监听
        buttonOK1.addActionListener(e -> {
//            从账号文本输入框中获取数据
            String AccountidText = txtAccountId.getText();
//            从密码框中取出密码
            String PasswordText = new String(txtPassword.getPassword());
//            查询账号,查看账号是否唯一
//            创建AccountDaoImp对象
            AccountDao accountDao = new AccountDaoImp();
//            通过AccountDaoImp对象调用findByid,该方法通过用户账号查询数据库信息
            Account account = accountDao.findByid(AccountidText);
//            如果输入的账号密码都为空,则弹出创建账号为空标签
            if (AccountidText.isEmpty() || PasswordText.isEmpty()){
//                创建账号为空标签
                JLabel label = new JLabel("注册账号或密码不能为空,请您重新注册!!");
                label.setFont(new Font("微软雅黑",Font.PLAIN,15));
//                 创建提示框
                JOptionPane.showMessageDialog(null,label,"注册失败",JOptionPane.PLAIN_MESSAGE);
            }
//            将用户输入的账号调用findByid查询,如果对象account返回的不为空,则说明账号已经被注册过了
            else if (account != null){
//                账号已经被注册标签
                JLabel label = new JLabel("该账号已被注册,请您重新注册!!");
                label.setFont(new Font("微软雅黑",Font.PLAIN,15));
//                 创建提示框
                JOptionPane.showMessageDialog(null,label,"注册失败",JOptionPane.PLAIN_MESSAGE);
            }
//            注册成功
            else {
                System.out.println("注册成功!");
//                进入到完善信息的窗口
                InformationFrame informationFrame = new InformationFrame();
                informationFrame.setVisible(true);
                setVisible(false);
            }
    });

这里只重点写了如何验证用户的注册,放在了一个监听事件里面,其他的地方大同小异。

运行结果:

8.png9.png

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
83 3
|
3月前
|
数据可视化 数据库 数据安全/隐私保护
在IDEA中如何用可视化界面操作数据库? 在idea中如何操作数据库? 在idea中如何像Navicat一样操作数据库?
文章介绍了如何在IDEA中使用可视化界面操作数据库,类似于Navicat,以提高数据库操作的效率和管理性。
90 1
在IDEA中如何用可视化界面操作数据库? 在idea中如何操作数据库? 在idea中如何像Navicat一样操作数据库?
|
5月前
|
存储 数据库连接 数据库
【Python】python员工信息管理系统(数据库版本)(GUI界面+数据库文件+源码)【独一无二】
【Python】python员工信息管理系统(数据库版本)(GUI界面+数据库文件+源码)【独一无二】
535 1
|
8月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
262 7
|
6月前
|
开发框架 前端开发 JavaScript
电商商品数据库的设计和功能界面的处理
电商商品数据库的设计和功能界面的处理
|
5月前
|
安全 Nacos 数据库
【技术安全大揭秘】Nacos暴露公网后被非法访问?!6大安全加固秘籍,手把手教你如何保护数据库免遭恶意篡改,打造坚不可摧的微服务注册与配置中心!从限制公网访问到启用访问控制,全方位解析如何构建安全防护体系,让您从此告别数据安全风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其公网暴露可能引发数据库被非法访问甚至篡改的安全隐患。本文剖析此问题并提供解决方案,包括限制公网访问、启用HTTPS、加强数据库安全、配置访问控制及监控等,帮助开发者确保服务安全稳定运行。
481 0
|
5月前
|
SQL 前端开发 Java
已知数据库中存在表tb_book2,通过在图书信息界面填写书本的基本信息,然后提交后写入数据库中的表格中。需要对提交的信息进行修改,信息填入不能为空,为空则则有提示。
该博客文章通过示例演示了如何使用JSP结合SQL Server数据库向表`tb_book2`中添加图书信息,包括信息填写、前端验证、JavaBean封装图书属性、使用`PreparedStatement`执行插入操作,并确保了提交的信息不能为空,否则会给出提示。
|
6月前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
210 1
|
7月前
|
数据库 Android开发 数据安全/隐私保护
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
298 2
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列13、用户注册与登录系统
MySQL数据库基础练习系列13、用户注册与登录系统
55 1