首页 > 其他分享 >Homework 验证码界面(非全部自己完成)

Homework 验证码界面(非全部自己完成)

时间:2023-09-18 13:12:06浏览次数:39  
标签:界面 frame 验证码 codeLabel import new Homework panel

import javax.swing.*;//import  代表“引入”
                     //javax.swing 代表“路径” (在javax文件夹下的swing文件夹)
                     //*  代表“全部”
import java.awt.*;   //
import java.awt.event.ActionEvent;//是JAVA AWT抽象窗口工具集包的一部分,用于处理用户执行的动作事件
import java.awt.event.ActionListener;//是否来判断点击登录后密码和账号是否正确
import java.util.Random;//随机数包

public class RandomGraphic {
    private static final String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//初始化一个字符串
    private static final int codeLength = 6;//代表长度为6的验证码
    private static String currentVerificationCode;//记录正确的验证码

    public static void main(String[] args) {
        JFrame frame = new JFrame("随机验证码");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        JPanel panel = new JPanel(new GridLayout(4, 1));
        frame.add(panel);

        JLabel codeLabel = new JLabel();
        panel.add(codeLabel);

        JTextField inputField = new JTextField();
        panel.add(inputField);

        JButton submitButton = new JButton("提交");
        panel.add(submitButton);

        JLabel hintLabel = new JLabel("请输入验证码");
        panel.add(hintLabel);

        generateAndSetVerificationCode(codeLabel);

        submitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String userInput = inputField.getText().trim();
                if (userInput.equals(currentVerificationCode)) {
                    JOptionPane.showMessageDialog(frame, "验证码正确!程序即将退出。");
                    System.exit(0);
                } else {
                    JOptionPane.showMessageDialog(frame, "验证码错误,请重新输入!", "错误", JOptionPane.ERROR_MESSAGE);
                    generateAndSetVerificationCode(codeLabel);
                }
                inputField.setText("");
            }
        });

        frame.setVisible(true);
    }

    public static void generateAndSetVerificationCode(JLabel codeLabel) {
        currentVerificationCode = generateVerificationCode(codeLength);
        codeLabel.setText("验证码: " + currentVerificationCode);
    }

    public static String generateVerificationCode(int length) {
        Random random = new Random();
        StringBuilder codeBuilder = new StringBuilder();

        for (int i = 0; i < length; i++) {
            int index = random.nextInt(characters.length());
            char randomChar = characters.charAt(index);
            codeBuilder.append(randomChar);
        }

        return codeBuilder.toString();
    }
}

 

标签:界面,frame,验证码,codeLabel,import,new,Homework,panel
From: https://www.cnblogs.com/bbbbbeiqu/p/17711627.html

相关文章

  • 最近完成了一个用xsl作为模板的可配置主界面
    遇到了很多问题呀,以前学了点xsl,是这个名称空间:<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">可是.net不支持这个,只支持xslt,名称空间为:<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">必须改成xslt,但是xslt和xsl不一......
  • JAVA 实现登录页面生成验证码
    1importjavax.swing.*;2importjava.awt.Color;3importjava.awt.Font;4importjava.awt.Graphics;5importjava.awt.event.ActionEvent;6importjava.awt.event.ActionListener;7importjava.util.Random;89publicclassLoginFrameext......
  • 【日常收支账本】【Day02】通过PyCharm集成QtDesigner和PyUIC快速创建界面
    一、集成QtDesigner和PyUICPyCharm集成QtDesigner和PyUIC教程二、在QtDesigner中画出窗体1.主界面编辑账本:新增、修改或删除记录可视化账本:通过不同角度查看收支情况全局配置:根据自身实际情况定义配置2.编辑账本界面三、创建项目项目结构将UI文件与窗体文件分......
  • 用户登录图形化界面(java)
    一、题目 二、源码(1)USER类(定义用户,包括username,password)1packagepicture;23publicclassUSER{4privateStringusername;5privateStringpassword;67publicUSER(Stringusername,Stringpassword){8this.username=user......
  • DVWA靶场通关-Insecure CAPTCHA (不安全的验证码)
    BruteForce(暴力(破解))、CommandInjection(命令行注入)、CSRF(跨站请求伪造)、     FileInclusion(文件包含)、FileUpload(文件上传)、InsecureCAPTCHA(不安全的验证码)、    SQLInjection(SQL注入)、SQLInjection(Blind)(SQL盲注)、XSS(DOM)(基于DOM树)、    XSS(Reflec......
  • 验证码
    import java.util.Random;import java.util.Scanner;public class CaptchaGenerator {    public static void main(String[] args) {        // 生成随机验证码        String captcha = generateCaptcha();        System.out.printl......
  • 验证码
    packageyanzhenma;importjava.util.Random;importjava.util.Scanner;publicclassCaptchaGenerator{publicstaticvoidmain(String[]args){//生成随机验证码Stringcaptcha=generateCaptcha();System.out.println("生成的验证码为:"+ca......
  • 登录界面9.17
    packagetest;importjavax.swing.*;importjava.awt.*;publicclasstest2{//创造字符串储存账号publicstaticStringuname[]=newString[100];//创造字符串储存密码publicstaticStringupass[]=newString[100];//记录当前坐标publicstaticintflag_user......
  • 用python的tk写一个界面
    记录一下,tk写界面的方法。importtkinterastkimportpyautoguiaspgimporttimeimportpyperclip#剪切板调用#主体窗口设置#root=tk.Tk()root.title("护理记录")root.geometry('550x550+0+0')root.attributes("-topmost",1)font=('宋体',14)#窗......
  • 学习常见的反爬虫手段,如验证码、限制访问频率等
    验证码(CAPTCHA):用于识别机器人和自动化程序,可以通过以下方式实现:fromPILimportImageimportpytesseract#读取验证码图片image=Image.open('captcha.png')#使用pytesseract库进行验证码识别text=pytesseract.image_to_string(image)print(text)IP限制/访问频......