基于JAVA绘制验证码

概要

        Java绘图通常指的是在Java应用程序中创建和显示图形、图像和其他视觉元素。

        Swing是Java的一个图形用户界面工具包,它提供了一套丰富的组件来构建桌面应用程序,包括用于绘图的组件和功能。

整体架构流程

图片显示

Graphics2D继承Graphics类,实现基本绘图。

文字处理

使用Font类封装了字体的大小,样式等属性,该类在java.awt包进行定义。

面板

进行显示和布局,Jpanel面板:标签,图片,按钮,列表。

对话框

点击对应按钮弹出小型对话框,也可以在控制台输入信息形成通知框。

代码解释

Java绘图

验证码:

1.随机生成26个字母并施行更新

2.进行大小 颜色 位置的的排序

3.在面板中画出验证码

1.使用Font类封装了字体的大小,样式等属性

2.验证码中的图片:利用ImageIO可以读取本地磁盘的图片文件

注意事项:

  • 确保图片路径正确,否则img将为null

Swing

  1. 添加事件监听器:为按钮添加一个ActionListener,当按钮被点击时执行相应的操作。
  2. 获取用户输入:从文本框中获取用户名、密码和验证码。
  3. 验证输入:检查用户名、密码和验证码是否为空,以及验证码是否正确。
  4. 显示登录信息:根据验证结果,通过对话框显示相应的登录信息.

    private void loginAction() {
        button_1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String username = nameText.getText(); // 从文本框中获取用户名
                String password = new String(pwdText.getPassword()); // 从密码框中获取密码
                String code = codeText.getText(); // 获得输入的验证码
                String info = ""; // 用户登录信息

                // 判断用户名是否为null或空的字符串
                if (username == null || username.isEmpty()) {
                    info = "用户名为空!";
                } 
                // 判断密码是否为null或空的字符串
                else if (password == null || password.isEmpty()) {
                    info = "密码为空!";
                } 
                // 判断验证码是否为null或空的字符串
                else if (code == null || code.isEmpty()) {
                    info = "验证码为空!";
                } 
                // 判断验证码是否正确
                else if (!code.equals("预期的验证码")) { // 假设有一个方法getNum()来获取验证码
                    info = "验证码错误!";
                } 
                // 如果用户名与密码均为"soft",则登录成功
                else if (username.equals("soft") && password.equals("soft")) {
                    info = "恭喜,登录成功";
                } else {
                    info = "用户名或密码错误!";
                }

                JOptionPane.showMessageDialog(null, info); // 通过对话框弹出用户登录信息
            }
        });
    }

演示效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你我哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值