JAVA 简易登录界面实现 输入账号密码错误三次自动退出(超简单)

这篇博客展示了如何使用Java Swing构建一个登录界面,包括输入账号和密码的文本框、登录和退出按钮。当输入账号或密码错误超过三次时,程序会自动退出。代码解析详细解释了各个步骤,从声明组件、设置监听器到后端的错误计数逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

成果图:

 

输入账号密码错误三次自动退出

步骤:

1、声明变量:提示语JLabel、文本输入框JTextField、按钮:JButton

2、设置提示语、文本框并加入JPanel中

3、添加设置按钮、并给按钮添加监听器addActionListener

4、修改外观、设置边框大小

5、后端部分(当按下按钮后响应结果)

全部代码:


import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;

public class Denglu {

	public static void main(String[] args) {
		Denglu1 d1 = new Denglu1();
	}
}

class Denglu1 extends JFrame implements ActionListener {
	JLabel tishi;		//提示语
	JTextField txtUserName,txtUserPW;   //文本框
	JButton b1,b2;
	public int sum = 1;       //统计次数

	Denglu1(){
		JPanel p = new JPanel();			// 新建画布
		JLabel tishi = new JLabel("  请输入用户名和密码                                                  ");
		p.add(tishi);				// 加入画布中
		
		JLabel UserName = new JLabel("账号");         // 文本框提示语
		p.add(UserName);
		txtUserName =  new JTextField(20);			  // 设置文本框大小
		p.add(txtUserName);
		
		JLabel UserPW = new JLabel("密码");		
		p.add(UserPW);
		txtUserPW = new JTextField(20);
		p.add(txtUserPW);

		b1 = new JButton("登录");			// 添加按钮
		b2 = new JButton("退出");
		p.add(b1);
		p.add(b2);
		
		b1.addActionListener(this);			// 给按钮设置监听器
		b2.addActionListener(this);
		
		p.setBackground(Color.lightGray);    //背景颜色
		add(p);              // 添加显示画板
	
		setSize(300,200);
		setVisible(true);    // 显示
	}
	public void actionPerformed(ActionEvent e) { 
		if(e.getSource()==b1) {							// 监听到登录键按下
			if(txtUserName.getText().equals("abc") && txtUserPW.getText().equals("abc")) {  
				JOptionPane.showMessageDialog(this, "登录成功!","成功!!",JOptionPane.WARNING_MESSAGE);
			}
			else {
				if(sum>=3){
					JOptionPane.showMessageDialog(this, "输入次数过多,即将退出","错误!",JOptionPane.WARNING_MESSAGE);
					System.exit(0);
				}
				else {
					JOptionPane.showMessageDialog(this, "还能输入"+(3-sum)+"次","账号密码错误",JOptionPane.WARNING_MESSAGE);
					sum = sum + 1;			// 给错误的次数加1,达到3次自动退出
				}
			}
		}
		else if(e.getSource() == b2) {         // 按下退出键退出
			System.exit(0);
		}
	}
}

代码解析:

步骤一:声明变量

	JLabel tishi;		//提示语
	JTextField txtUserName,txtUserPW;   //文本框
	JButton b1,b2;
	public int sum = 1;       //后续统计错误的次数

步骤二:设置提示语、文本框

提示语:

    JPanel p = new JPanel();            // 新建画布
    JLabel tishi = new JLabel(" 请输入用户名和密码            ");
    p.add(tishi);               // 加入画布

账号密码那两行:

		JLabel UserName = new JLabel("账号");         // 文本框提示语
		p.add(UserName);
		txtUserName =  new JTextField(20);			  // 设置文本框大小
		p.add(txtUserName);
		
		JLabel UserPW = new JLabel("密码");		      // 原理同上
		p.add(UserPW);
		txtUserPW = new JTextField(20);
		p.add(txtUserPW);

步骤三:设置按钮

		b1 = new JButton("登录");			// 添加按钮
		b2 = new JButton("退出");
		p.add(b1);
		p.add(b2);
		
		b1.addActionListener(this);			// 给按钮设置监听器
		b2.addActionListener(this);

步骤四:显示画板

		p.setBackground(Color.lightGray);    //背景颜色
		add(p);              // 添加显示画板
	
		setSize(300,200);
		setVisible(true);    // 显示

步骤五:当按下按钮后(后端)

为方便测试,这里账号密码默认为abc

	public void actionPerformed(ActionEvent e) { 
		if(e.getSource()==b1) {							// 监听到登录键按下
			if(txtUserName.getText().equals("abc") && txtUserPW.getText().equals("abc")) {  
				JOptionPane.showMessageDialog(this, "登录成功!","成功!!",JOptionPane.WARNING_MESSAGE);
			}
			else {
				if(sum>=3){
					JOptionPane.showMessageDialog(this, "输入次数过多,即将退出","错误!",JOptionPane.WARNING_MESSAGE);
					System.exit(0);
				}
				else {
					JOptionPane.showMessageDialog(this, "还能输入"+(3-sum)+"次","账号密码错误",JOptionPane.WARNING_MESSAGE);
					sum = sum + 1;			// 给错误的次数加1,达到3次自动退出
				}
			}
		}
		else if(e.getSource() == b2) {         // 按下退出键退出
			System.exit(0);
		}
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云溪·

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

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

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

打赏作者

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

抵扣说明:

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

余额充值