Java页面编辑(续)

本文详细介绍了如何在Java界面中添加登录功能,包括创建监听器、实现动作监听接口及密码验证逻辑。

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

Java页面编辑(添加监听器)

上个博客我们讲了如何编写一个简易的界面
网址链接
这次我们完善一下这个界面,给这个界面加上判断密码是否正确的功能。

首先,将窗体编辑好,并新建一个类作为它的监听器。

public class LoginUI {


		// 设置初始化登陆界面
		public void initUI(){
			//创建窗体
			//设置窗体属性
			JFrame loginFrame=new JFrame();	
			loginFrame.setTitle("微信登录入口:");   //设置标题内容
			loginFrame.setSize(400,500);       //设置尺寸
			loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭按钮设置
			
			//流式布局
			FlowLayout fl = new FlowLayout();
			loginFrame.setLayout(fl);       //流式布局设置给窗体
			
			//创建组件对象
			//图片
			ImageIcon img = new ImageIcon("C:\\Users\\Lenovo\\Desktop\\JAVA学习\\2020.0605\\wechat.jpg");
			
			//标签,放图片
			JLabel imgJLa = new JLabel(img);
			//标签,其他文字
			JLabel nameJLa = new JLabel("账号:");
			JLabel passwordJLa = new JLabel("密码:");
			
			//按钮
			JButton loginbtn = new JButton("登录");
			JButton rbtn = new JButton("注册");
			//输入框
			JTextField nameField = new JTextField();
			JPasswordField passwordField= new JPasswordField();
			//复选框
			JCheckBox reBox1= new JCheckBox("记住密码");
			JCheckBox reBox2=new JCheckBox("自动登录");
			
			//按钮属性
			Color color=new Color(55,174,181);
			loginbtn.setBackground(color);    //颜色
			
			Dimension btndim= new Dimension(150,30);
			loginbtn.setPreferredSize(btndim);  //尺寸
			
			//输入框属性
			Dimension fielddim= new Dimension(320,30);
			nameField.setPreferredSize(fielddim);
			passwordField.setPreferredSize(fielddim);
			
			//把组件放到窗体上
			loginFrame.add(rbtn);
			loginFrame.add(imgJLa);
			loginFrame.add(nameJLa);
			loginFrame.add(nameField);
					
			loginFrame.add(passwordJLa);
			loginFrame.add(passwordField);
			
			loginFrame.add(reBox1);
			loginFrame.add(reBox2);
			loginFrame.add(loginbtn);
			loginFrame.setVisible(true);// 使窗体可视化 
			
			// 实例化 实现了监听器接口的类的 对象  
			LoginListener loginListener= new LoginListener();
			// 按钮加载监听 
			loginbtn.addActionListener(loginListener);
			rbtn.addActionListener(loginListener);
			
			// 传递输入框对象地址 
			loginListener.nameField=nameField;
			loginListener.passwordField=passwordField; 
		}
		public static void main(String[] args) {
			LoginUI loginUI = new LoginUI();
			loginUI.initUI();
		}
	}

我们可以发现,除了上一篇讲的内容之外,还加了以下一段:

// 实例化 实现了监听器接口的类的 对象  
			LoginListener loginListener= new LoginListener();
			// 按钮加载监听 
			loginbtn.addActionListener(loginListener);
			rbtn.addActionListener(loginListener);
			
			// 传递输入框对象地址 
			loginListener.nameField=nameField;
			loginListener.passwordField=passwordField; 

这段话的作用是什么呢,我们接下来会讲到。
我们新建一个类,命名为LoginListener,将第一句编写改为

public class LoginListener implements ActionListener{

即加上了动作监听器。加上动作监听器就可以判断我们的动作了。
接下来加入语句

JTextField nameField;
	JPasswordField passwordField;

用来指向传递。

最开始的ActionListener属于java.awt.event.ActionEvent包,然后就可以调出语句

@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		}

在此语句下编写动作判断语句

String btnString=e.getActionCommand();

我们先看一下监听器整体的代码:

public class LoginListener implements ActionListener{

	//用来指向传递
	JTextField nameField;
	JPasswordField passwordField;
	
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		String btnString=e.getActionCommand();
		//点击登录
		if (btnString.equals("登录")) {
			System.out.println("登录");
	
		
		//验证密码
		String nameStr = nameField.getText();
		String passwordStr = passwordField.getText();
        //判断账号密码是否正确
		if (nameStr.equals("xxxxxx") && passwordStr.equals("123456")) {
			System.err.println("账号密码验证成功!登录成功");
		}else {
			System.err.println("账号密码验证失败! 请重新输入");
		}
	} else if (btnString.equals("注册")) {
		System.out.println("注册");
	}}}
	

在窗体编辑的界面我们已经给按钮加上了动作监听器,给输入框加上了地址。在监听器相应的界面需要添加相应语句。
登录按钮和注册按钮判断为

//点击登录
		if (btnString.equals("登录")) {
			System.out.println("登录");
			} else if (btnString.equals("注册")) {
		System.out.println("注册");
	}

即点击登录按钮之后会输出登录语句。
然后是密码是否输入正确的判断,步骤是先获取输入框内的字符串内容,再判断是否符合

//验证密码
		String nameStr = nameField.getText();
		String passwordStr = passwordField.getText();
        //判断账号密码是否正确
		if (nameStr.equals("xxxxxx") && passwordStr.equals("123456")) {
			System.err.println("账号密码验证成功!登录成功");
		}else {
			System.err.println("账号密码验证失败! 请重新输入");
		}

效果如图
在这里插入图片描述
如此就编写完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值