登录界面

登录界面设计

组件

  1. awt–界面开发
    界面的颜色、位置、流式布局器、动作监听器等元素
import java.awt.Color;//设置登录界面颜色
import java.awt.Dimension;//登录界面初始化位置
import java.awt.FlowLayout;
import java.awt.event.ActionListener;//事件的动作监听器

2.swing–可视化组件

import javax.swing.JFrame;//窗体组件类顶级容器
import javax.swing.ImageIcon;//图片组件
import javax.swing.JButton;//按钮组件
import javax.swing.JCheckBox;//复选框
import javax.swing.JLabel;//标签
import javax.swing.JPasswordField;//密码输入框
import javax.swing.JTextField;//文本输入框

界面设计

  1. 创建新的类,定义一个初始化界面函数initUI
public class LoginUI extends JFrame{
	public static void main(String[] args) {
		LoginUI loginui = new LoginUI();
		loginui.initUI();
	}
  1. 初始化界面,插入组件,加入动作监听器
public void initUI() {
		JFrame lf = new JFrame();
		lf.setTitle("欢迎登录");//设置标题
		lf.setSize(390,400);// 顶级容器专用 
        lf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭时退出程序
		lf.setLocationRelativeTo(null); //设置窗体相对于另一组间的居中位置,参数null表示窗体相对于屏幕的中央位置
		lf.setResizable(false);//不能调整窗体大小
		FlowLayout fl = new FlowLayout();//创建流式布局类的对象
		lf.setLayout(fl);
		ImageIcon img = new ImageIcon("image/login.png"); //
		JLabel  imgJla = new JLabel(img);//创建一个新的包image,放入图片,插入图片
		JLabel  nameJla = new JLabel("账号:");//设置标签名
		JLabel  pwdJla = new JLabel("密码:");
		JTextField  nameField = new JTextField();
		JPasswordField  pwdField = new JPasswordField();
	    System.out.println("nameField=="+nameField);
		JCheckBox remmeberCb = new JCheckBox
		JButton  loginbtn = new JButton("登录");//设置按钮名
		JButton  registbtn = new JButton("注册");
		JLabel reJla = new JLabel("<html><body><a href='https://www.baidu.com'>忘记密码</a></body></html>");
		Color color = new Color(255,255,255);
		loginbtn.setBackground(color);
		Dimension indim1 = new Dimension(320,30);//组件尺寸
		nameField.setPreferredSize(indim1);   // 组件专用 
		pwdField.setPreferredSize(indim1);   // 组件专用 
		
		/**
		 * 	 将组件对象加载到容器
		 */
		lf.add(imgJla);
		lf.add(nameJla);
		lf.add(nameField);
		lf.add(pwdJla);
		lf.add(pwdField);
		lf.add(loginbtn);
		lf.add(registbtn);
		lf.add(reJla);
		lf.add(remmeberCb); 
		lf.setVisible(true);//窗体可见,所有组件代码要在这行代码之前
		 	LoginListener loginListener = new LoginListener();
		loginBtn.addActionListener(loginListener);
		loginListener.nameField  = namein;// 把账号输入框的内容传到文本中,从右往左传		loginListener.pwdField  = pwdin;

实现界面效果如下
在这里插入图片描述
此时实现了一个简单的登录页面

动作监听器

插入动作监听器,实现点击按钮有反应
格式:public class 类名 implements 接口名{};
一个类实现接口,必须将接口中的方法写一次并且加上方法体。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginListener implements ActionListener{
	public JTextField nameField;//定义账号文本框组件
	public JPasswordField pwdField;//定义密码文本框组件
	// 按钮被点击时自动调用 
	public void actionPerformed(ActionEvent e) {
	String btnstr = e.getActionCommand();//返回此事件命令的字符串
	 	System.out.println(btnstr + "    按钮被点击了");
		if (btnstr.equals("登录")) {
			System.out.println("验证密码");
			String namestr = nameField.getText();//获取账号文本
			String pwdstr = pwdField.getText();//获取密码文本
			System.out.println("账号:" + namestr);//输入账号文本
			System.out.println("密码:" + pwdstr);//输出密码文本
}
        //验证账号密码
        if (namestr.equals("admin") && "admin123".equals(pwdstr)) {
				System.out.println("密码验证成功!");
				initUI("登录成功", "欢迎登录XX,您的账号是" + namestr + "您的密码是:" + pwdstr);
			} else {
				System.out.println("密码验证失败!请重试!!");
				initUI("登录失败", "您的账号或密码不正确,请重试!!!");
				pwdField.setText("");// 将密码输入框设置文本为空字符
			}
		}
	}
	设置消息提示框
		public void initUI(String tilestr, String msg) {
		      JFrame jf = new JFrame(tilestr);
		      jf.setSize(350, 100);// 尺寸
		      jf.setLocationRelativeTo(null);// 位置,null为居中
              jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);//关闭消息提示框仅隐藏,没有关闭全部
	          JLabel actionLabel = new JLabel(msg);
		      jf.add(actionLabel);
	          jf.setVisible(true);//可视化条件

实现界面效果如下图所示
若账号密码输入正确
账号密码输入正确
账号或密码输入有误时,密码输入框内容被清空,提示重试。
账号或密码输入不正确,此时密码输入框中内容清空。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值