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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 近期写了一个小项目,需要用到用户的登陆界面与注册我将登陆界面和注册界面分开来写

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

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

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

//        注册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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
数据库 数据安全/隐私保护
解决不知道数据库用户名密码下如何登陆问题
解决不知道数据库用户名密码下如何登陆问题
30 0
|
4月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
97 7
|
7月前
|
SQL 安全 关系型数据库
【100天精通python】Day38:GUI界面编程_PyQt 从入门到实战(中)_数据库操作与多线程编程
【100天精通python】Day38:GUI界面编程_PyQt 从入门到实战(中)_数据库操作与多线程编程
74 0
|
8月前
|
数据可视化 数据库 数据安全/隐私保护
Python 基于 Django 的学生成绩管理系统,可视化界面+数据库(附源码,教程)
Python 基于 Django 的学生成绩管理系统,可视化界面+数据库(附源码,教程)
|
4月前
|
关系型数据库 MySQL 数据库
【MySQL】如何使用图形化界面DataGrip操作数据库
【MySQL】如何使用图形化界面DataGrip操作数据库
91 0
|
5月前
|
关系型数据库 数据库 PostgreSQL
postgresql|数据库迁移|ora2pg工具的web界面介绍
postgresql|数据库迁移|ora2pg工具的web界面介绍
49 0
|
6月前
|
Linux 网络安全 数据库
远程使用plsql登陆数据库时,界面提示 ORA-12170 TNS 连接超时
远程使用plsql登陆数据库时,界面提示 ORA-12170 TNS 连接超时
116 0
|
8月前
|
存储 JSON 搜索推荐
授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储的试读版
授人以渔-在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储的试读版
53 1
|
9月前
|
存储 前端开发 NoSQL
如何设计 QQ、微信等第三方账号登陆 ?还要我说出数据库表设计!
如何设计 QQ、微信等第三方账号登陆 ?还要我说出数据库表设计!
207 2
|
10月前
|
SQL 存储 Oracle
MySQL数据库界面化工具 - Navicat的常用功能
MySQL数据库界面化工具 - Navicat的常用功能
179 0