2021-04-11

界面

QQ登录界面包含界面、图片、文字、输入框、按钮等五项,依次实现即可。

LoginUI.java

package com.zjc0411;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginUI {
	public static void main(String[] args) {
		LoginUI loginUI=new LoginUI();
		loginUI.initUI();
	}
	public void initUI(){
		JFrame jf=new JFrame();//创建界面对象
		jf.setSize(530,500);//设置界面尺寸
		jf.setTitle("QQ登录");//设置界面标题
		jf.setDefaultCloseOperation(3);
		
		//布局方式:流式布局
		FlowLayout flt=new FlowLayout();
		jf.setLayout(flt);
		
		//添加按钮
		JButton jbn1=new JButton("注册");
		JButton jbn2=new JButton("登录");
		
		//添加标签
		JLabel namejla=new JLabel("账号:");
		JLabel pwdjla=new JLabel("密码:");
		
		//添加图片
		ImageIcon img=new ImageIcon("C:\\Users\\32277\\Desktop\\1.png");//导入照片
		JLabel imgjla=new JLabel(img);
		
		//添加文本框
		JTextField namejtx=new JTextField();
		JPasswordField pwdjtx=new JPasswordField();
		
		//设置文本框尺寸
		Dimension dim=new Dimension(450,35);
		namejtx.setPreferredSize(dim);
		pwdjtx.setPreferredSize(dim);
		
		//按顺序添加各组件
		jf.add(imgjla);
		jf.add(namejla);
		jf.add(namejtx);
		jf.add(pwdjla);
		jf.add(pwdjtx);
		jf.add(jbn1);
		jf.add(jbn2);
		
		//设置全为可见
		jf.setVisible(true);	
	}

}

验证账号和密码

目标

只有输入正确的账号和密码才能进入跳转界面
所以我们的几项任务分别为:
第一,在文本框和按钮上加监听;
第二,验证账号和密码,只有账号和密码都正确才能登陆成功,其他均为失败;
第三,制作跳转界面,分别为登陆成功的界面和登陆失败的界面;
第四,调用跳转界面。

LoginUI类

我们先要在之前所写的LoginUI类中继续完善:添加监听,制作两个跳转界面。

package com.zjc0411;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginUI {
	public static void main(String[] args) {
		LoginUI loginUI=new LoginUI();
		loginUI.initUI();
	}
	public void initUI(){
		JFrame jf=new JFrame();//创建界面对象
		jf.setSize(530,500);//设置界面尺寸
		jf.setTitle("QQ登录");//设置界面标题
		jf.setDefaultCloseOperation(3);
		
		//布局方式:流式布局
		FlowLayout flt=new FlowLayout();
		jf.setLayout(flt);
		
		//添加按钮
		JButton jbn1=new JButton("注册");
		JButton jbn2=new JButton("登录");
		
		//添加标签
		JLabel namejla=new JLabel("账号:");
		JLabel pwdjla=new JLabel("密码:");
		
		//添加图片
		ImageIcon img=new ImageIcon("C:\\Users\\32277\\Desktop\\1.png");//导入照片
		JLabel imgjla=new JLabel(img);
		
		//添加文本框
		JTextField namejtx=new JTextField();
		JPasswordField pwdjtx=new JPasswordField();
		
		//设置文本框尺寸
		Dimension dim=new Dimension(450,35);
		namejtx.setPreferredSize(dim);
		pwdjtx.setPreferredSize(dim);
		
		//按顺序添加各组件
		jf.add(imgjla);
		jf.add(namejla);
		jf.add(namejtx);
		jf.add(pwdjla);
		jf.add(pwdjtx);
		jf.add(jbn1);
		jf.add(jbn2);
		
		//设置全为可见
		jf.setVisible(true);
		
		//新加内容:在“登录”按钮上加监听器
		BtnListener bl=new BtnListener();
		jbn2.addActionListener(bl);
		
		//新加内容:在文本框上加监听,将文本框传给监听,方便之后读取文本框上输入的内容,并对账号和密码进行验证
		//在设置可见之后传文本框
		bl.namejtx1=namejtx;
		bl.pwdjtx1=pwdjtx;
		
		
		
	}
    //新加内容:登陆成功的跳转界面
	public void initUI1() {
		 JFrame jf1=new JFrame();
		 jf1.setSize(530,500);//设置界面尺寸
		 jf1.setTitle("跳转界面");//设置界面标题
		 jf1.setDefaultCloseOperation(3);
		 
		 JLabel namejla1=new JLabel("登陆成功");
		 
		 jf1.add(namejla1);
		 
		 jf1.setVisible(true);//一定要设置可见
		 
	 }
	//新加内容:登陆失败的跳转界面
	public void initUI2() {
		 JFrame jf2=new JFrame();
		 jf2.setSize(530,500);//设置界面尺寸
		 jf2.setTitle("跳转界面");//设置界面标题
		 jf2.setDefaultCloseOperation(3);
		 
		 JLabel namejla2=new JLabel("登陆失败,请重试");
		 
		 jf2.add(namejla2);
		 
		 jf2.setVisible(true);
		 
	 }	
}

ActionListener接口

package com.zjc0411;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class BtnListener implements ActionListener{
	 
	//将传过来的文本框进行保存
	 public JTextField namejtx1;
	 public JPasswordField pwdjtx1;
	 
	 //对接口中的内容进行拓写,写上自己需要用的代码即可。
	 public void actionPerformed(ActionEvent e) {
		 
		 //读取文本框上的内容
		 String userName=namejtx1.getText();
		 String userPassword=pwdjtx1.getText();
		 
		 //验证账号密码是否正确,用if语句进行验证,并根据验证情况进行合理调用
		 if("123".equals(userName)&&"456".equals(userPassword)) {
			 LoginUI loginUI1=new LoginUI();
			 loginUI1.initUI1();	 
		 }else {
			 LoginUI loginUI2=new LoginUI();
			 loginUI2.initUI2(); 
		 }
	 }
}

最终效果展示

当输入正确的账号和密码时
在这里插入图片描述
在这里插入图片描述
当输入错误的账号和密码时
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值