简单GUI界面实现模拟登录(Java实现)

在这里插入图片描述

  • 实现功能:
    单击“登录”按钮,如果用户名和密码与文件123.txt中保存的用户账号信息一样,则弹出“验证通过!”,否则显示“验证没有通过!”;单击“重置”按钮,文本框清空;单击“关闭”按钮,退出程序。(输入密码进行隐藏!)

  • 界面:
    在这里插入图片描述

  • 若验证通过:
    在这里插入图片描述

  • 若验证不通过:
    在这里插入图片描述

  • 源码:

import java.io.*;
import java.util.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Test2 extends JFrame{
	//事件监听的对象要设为全局变量
	JTextField jtf;  
	JTextField jta;
	
	public Test2() {
		super("用户登录窗口");
		//标签、按钮
		JLabel lb0 = new JLabel("用户登录窗口");
		JLabel lb1 = new JLabel("用户名:");
		jtf = new JTextField(15); 
		JLabel lb2 = new JLabel("密码:");
		jta = new JPasswordField(15); 
		
		JButton b1 = new JButton("登录");
       	JButton b2 = new JButton("重置");
       	JButton b3 = new JButton("关闭");
       	
       	
       	///监听事件注册
       	DataFind mm = new DataFind();
    	b1.addActionListener(mm);
    	
    	//重置按钮事件
    	b2.addActionListener(
    	new ActionListener(){
    		public void actionPerformed(ActionEvent ee){
    			jtf.setText(" ");
    			jta.setText(" ");
    			}
    		});
    	
    	//关闭按钮事件
    	b3.addActionListener(
    	new ActionListener(){
    		public void actionPerformed(ActionEvent ee){
    			System.exit(0);	
    			}
    		});
    	
    	//容器,添加
       	JPanel   p = new JPanel();
       	p.add(lb0);
       	p.add(lb1);
       	p.add(jtf);
       	p.add(lb2);
       	p.add(jta);
       	p.add(b1);
       	p.add(b2);
       	p.add(b3);
       	
       	
    	getContentPane().add(p);
    	setSize(500,300);
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	setVisible(true);
       
	}
	public static void main(String[] args) {
		
    	new Test2();
    }
	
	
	//事件监听
	class DataFind implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			String str0 = jtf.getText();
			String str1 = jta.getText();
			boolean find = false;
			String ss="";
			try {
				Scanner sc = new Scanner(new File("123.txt"));
				while(sc.hasNextLine()) {
					ss = sc.nextLine();
					if(ss.indexOf(str0)>=0&&ss.indexOf(str1)>=0) {
						find = true;
						break;
					}
					
				}
				if(find) {
					String[] temp=ss.split("\\s+");
					if(temp[0].equals(str0)&&temp[1].equals(str1)) {
						JOptionPane.showMessageDialog(null,"验证通过!");
					}
					
				}
				else
					JOptionPane.showMessageDialog(null,"验证没有通过!");
				
				} catch (Exception e2) {
				// TODO: handle exception
			}
		}
	}

}

  • 13
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值