栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java 登录界面加验证码

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 登录界面加验证码

程序设计思路:

首先是显示登录页面,注册页面,以及主页面

然后可以在表里存储数据,即注册用户,可以在图形框中输入数据

在后端检索所有数据,查看是否存在数据

随机生成验证码,并且要求输入的验证码与显示的对应

最后完成登录

源代码:

package yanzhengma;

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 Interface extends JFrame {

private static final long serialVersionUID = 1L;

private static String record;

public static void main(String[] args) {

new Interface();

}

public Interface() {

// 创建 JFrame 实例

JFrame frame = new JFrame("请登录:");

// 设置frame大小

frame.setLocation(500, 300);

frame.setSize(400, 200);

frame.setResizable(false);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 创建面板

JPanel panel = new JPanel();

// 添加面板

frame.add(panel);

// 根据需要设置面板的具体形式

placeComponents(panel);

// 设置界面可见

frame.setVisible(true);

}

public void placeComponents(JPanel panel) {

// 清空面板

panel.setLayout(null);

// 创建 用户使用的组件

JLabel userLabel = new JLabel("用户名:");

userLabel.setBounds(10, 20, 80, 25);

panel.add(userLabel);

// 创建文本域用于用户输入

JTextField userText = new JTextField(20);

userText.setBounds(100, 20, 165, 25);

panel.add(userText);

// 创建 密码使用的组件

JLabel passwordLabel = new JLabel("密码:");

passwordLabel.setBounds(10, 50, 80, 25);

panel.add(passwordLabel);

// 创建密码的文本域

JPasswordField passwordText = new JPasswordField(20);

passwordText.setBounds(100, 50, 165, 25);

panel.add(passwordText);

// 创建 验证码使用的组件

JLabel verificationLabel = new JLabel("验证码:");

verificationLabel.setBounds(10, 80, 80, 25);

panel.add(verificationLabel);

// 创建验证码的文本域

JTextField verificationText = new JTextField(20);

verificationText.setBounds(100, 80, 80, 25);

panel.add(verificationText);

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

// 创建验证码使用的显示的组件

JLabel verificationShowLabel = new JLabel(result);

verificationShowLabel.setBounds(200, 80, 80, 25);

panel.add(verificationShowLabel);

// 创建登录按钮

JButton loginButton = new JButton("登录");

loginButton.setBounds(10, 120, 80, 25);

panel.add(loginButton);

// 对按钮进行监视

ActionListener ourListener1 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == loginButton) // 判断是否点击登录按钮

{

if (record.equalsIgnoreCase(verificationText.getText()))// 判断验证码是否正确

{

if (StoreroomManager.datelist.size() == 0)// 判断存储空间是否有数据

{

JOptionPane.showMessageDialog(null, "你还没有注册");

userText.setText("");

passwordText.setText("");

} else// 对现有的date进行赋值,并且检索是否存在注册过的用户

{

Storeroom date = new Storeroom();

date.setUser(userText.getText());// 获取用户输入的用户名

date.setPassword(passwordText.getText());// 获取用户输入的密码

StoreroomManager.confirmDate(date);

passwordText.setText("");

verificationText.setText("");

}

} else // 验证码不正确

{

passwordText.setText("");

verificationText.setText("");

JOptionPane.showMessageDialog(null, "验证码错误,请重新输入");

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

verificationShowLabel.setText(result);

}

}

}

};

loginButton.addActionListener(ourListener1);

// 创建注册按钮

JButton registerButton = new JButton("注册");

registerButton.setBounds(100, 120, 80, 25);

panel.add(registerButton);

// 对按钮进行监视

ActionListener ourListener2 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == registerButton) {

userText.setText("");

passwordText.setText("");

verificationText.setText("");

new RegisterInterface();

}

}

};

registerButton.addActionListener(ourListener2);

// 创建刷新按钮

JButton refreshButton = new JButton("刷新");

refreshButton.setBounds(250, 80, 80, 25);

panel.add(refreshButton);

// 对按钮进行监视

ActionListener ourListener3 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == refreshButton) {

passwordText.setText("");

verificationText.setText("");

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

verificationShowLabel.setText(result);

}

}

};

refreshButton.addActionListener(ourListener3);

}

}

//本文件相当于数据库,用于存储数据

package yanzhengma;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JOptionPane;

class Storeroom {

private String User;

private String password;

void setUser(String str) {

User = str;

}

String getUser() {

return User;

}

void setPassword(String str) {

password = str;

}

String getpassword() {

return password;

}

}

class StoreroomManager // 对数据进行操作的类

{

static List datelist = new ArrayList(0);

static void confirmDate(Storeroom date)// 登录,遍历数据

{

int flag = 0;

for (int i = 0; i < datelist.size(); i++) {

if (date.getUser().equalsIgnoreCase(datelist.get(i).getUser())) {

if (date.getpassword().equalsIgnoreCase(datelist.get(i).getpassword())) {

JOptionPane.showMessageDialog(null, "登录成功");

flag++;

}

}

}

System.out.println("输入的数据:");

System.out.println("用户名:" + date.getUser());

System.out.println("密码:" + date.getpassword());

for (int i = 0; i < datelist.size(); i++) {

System.out.println("表中的" + (i + 1) + "个数据:");

System.out.println("用户名:" + datelist.get(i).getUser());

System.out.println("密码:" + datelist.get(i).getpassword());

}

if (flag == 0) {

JOptionPane.showMessageDialog(null, "用户名或者密码错误!");

}

}

static boolean searchDate(Storeroom date)// 登录,遍历数据

{

int flag = 0;

for (int i = 0; i < datelist.size(); i++) {

if (date.getUser().equals(datelist.get(i).getUser()))

if (date.getpassword().equals(datelist.get(i).getpassword()))

flag++;

}

if (flag == 0)

return false;

else

return true;

}

}

//本文件大致与Interface 类一样

package yanzhengma;

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 RegisterInterface {

private static String record;

public RegisterInterface() {

// 创建 JFrame 实例

JFrame frame = new JFrame("欢迎来到注册页面:");

// 设置frame大小

frame.setLocation(500, 300);

frame.setSize(400, 200);

frame.setResizable(false);

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

// 创建面板

JPanel panel = new JPanel();

// 添加面板

frame.add(panel);

// 根据需要设置面板的具体形式

placeComponents(panel, frame);

// 设置界面可见

frame.setVisible(true);

}

public void placeComponents(JPanel panel, JFrame frame) {

// 清空面板

panel.setLayout(null);

// 创建 用户使用的组件

JLabel userLabel = new JLabel("用户名:");

userLabel.setBounds(10, 20, 80, 25);

panel.add(userLabel);

// 创建文本域用于用户输入

JTextField userText = new JTextField(20);

userText.setBounds(100, 20, 165, 25);

panel.add(userText);

// 创建密码使用的组件

JLabel passwordLabel = new JLabel("密码:");

passwordLabel.setBounds(10, 50, 80, 25);

panel.add(passwordLabel);

// 创建密码的文本域

JPasswordField passwordText = new JPasswordField(20);

passwordText.setBounds(100, 50, 165, 25);

panel.add(passwordText);

// 创建 验证码使用的组件

JLabel verificationLabel = new JLabel("验证码:");

verificationLabel.setBounds(10, 80, 80, 25);

panel.add(verificationLabel);

// 创建验证码的文本域

JTextField verificationText = new JTextField(20);

verificationText.setBounds(100, 80, 80, 25);

panel.add(verificationText);

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

// 创建验证码使用的显示的组件

JLabel verificationShowLabel = new JLabel(result);

verificationShowLabel.setBounds(200, 80, 80, 25);

panel.add(verificationShowLabel);

// 创建确认按钮

JButton confirmButton = new JButton("确定");

confirmButton.setBounds(10, 120, 80, 25);

panel.add(confirmButton);

// 对按钮进行监视(确认,即注册按钮)

ActionListener ourListener1 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == confirmButton) {

if (record.equalsIgnoreCase(verificationText.getText())) {

Storeroom date = new Storeroom();

date.setUser(userText.getText());

date.setPassword(passwordText.getText());

if (StoreroomManager.searchDate(date))

frame.dispose();

else {

StoreroomManager.datelist.add(date);

frame.dispose();

}

} else {

JOptionPane.showMessageDialog(null, "验证码错误,请重新输入");

verificationText.setText("");

passwordText.setText("");

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

verificationShowLabel.setText(result);

}

}

}

};

confirmButton.addActionListener(ourListener1);

// 创建取消按钮

JButton cancelButton = new JButton("取消");

cancelButton.setBounds(100, 120, 80, 25);

panel.add(cancelButton);

// 对按钮进行监视

ActionListener ourListener2 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == cancelButton) {

JOptionPane.showMessageDialog(null, "are you kidding me?!");

frame.dispose();

}

}

};

cancelButton.addActionListener(ourListener2);

// 创建刷新按钮

JButton refreshButton = new JButton("刷新");

refreshButton.setBounds(250, 80, 80, 25);

panel.add(refreshButton);

// 对按钮进行监视

ActionListener ourListener3 = new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == refreshButton) {

passwordText.setText("");

verificationText.setText("");

// 创建一个随机字符串

String result = "";

for (int i = 0; i < 6; i++) {

int intVal = (int) (Math.random() * 26 + 97);

result = result + (char) intVal;

}

record = result;

verificationShowLabel.setText(result);

}

}

};

refreshButton.addActionListener(ourListener3);

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号