一、仿QQ界面设计

基础知识

工具

一、AWT

java.awt包提供了创建界面和绘制图形图像的所有类。它里面存有各种元素:尺寸、颜色、布局等,用来设计各种模块的属性。
我们利用这些元素来给swing里的各种组件赋予属性。

Abstract Windows Toolkit(AWT)是最原始的 Java GUI(Graphical User Interface=图形用户界面) 工具包。
AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,
包括早期的 Web 浏览器中的 Java 实现;
另外它也非常稳定。这意味着我们不需要单独安装这个工具包,
在任何一个 Java 运行环境中都可以使用它,这一点正是我们所希望的特性。
所用到的类

1.布局管理器:

流式布局器 FLowLayout
默认居中,向流水一样把各个模块从左到右(自动换行)排列下来

2.尺寸
尺寸 Dimension
本次设计用来控制文字输入框的长宽。

二、swing

javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。

Swing是一个为Java设计的GUI工具包。
Swing是Java基础类的一部分。
Swing包括了图形用户界面(GUI)组件如:文本框,文本域,按钮,分隔窗格和表。
所用到的类
  1. 顶级容器 JFrame
  2. 图片 ImageIcon
  3. 标签 JLabel
  4. 输入框 JTextfield
  5. 复选框 JCheckBox
  6. 按钮 JButton
三、监听
基础知识

引用自 监听器入门看这篇就够了

解释

监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行

组件

事件源、事件对象、事件监听器

当事件源发生某个动作的时候,
它会调用事件监听器的方法,
并在调用事件监听器方法的时候把事件对象传递进去。
我们在监听器中就可以通过事件对象获取得到事件源,
从而对事件源进行操作!

本次用一个拓展ActionListener接口的类Login_Listener来作为登录按钮是否被点击的监听器

操作

构建一个类Login_Listener来监听登录按钮是否被点击
Login_Listener类:

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

public class Login_Listener implements ActionListener {
	/*
		jtx为名字输入框
	  	jpwd为密码输入框
	*/
	JTextField jtx;
	JPasswordField jpwd;
	//响应事件e
	public void actionPerformed(ActionEvent e) {
		if(jtx.getText().equals("name")&&jpwd.getText().equals("mima")) {
			System.out.println("登录成功");
		}
		else {
			System.out.println("登录失败");
		}
	}
}

在主函数(登录界面)中的应用

//实例化 (实现了ActionListener接口的)类Login_Listener的对象
	Login_Listener ll= new Login_Listener();
//把 监听器 ll 加入到 登录按钮 button 中
	button.addActionListener(ll);
//传参
	ll.jtx=inputname;
	ll.jpwd=input_pwd;

实现

登录界面:

import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login_UI {
	
	
	//主方法
	public  static void main(String []args) {
		Login_UI  lU = new Login_UI();
		lU.showUI();
	}
	public void showUI() {
		//顶级容器
			JFrame jf=new JFrame("仿QQ登录界面");
			//尺寸
				jf.setSize(400,400);
			//设置退出功能
				jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//布局器:流式
			FlowLayout fl =new FlowLayout();
		//设置顶级容器jf加入布局器fl
			jf.setLayout(fl);
		//设置jf的属性
			//窗体不可改变
				jf.setResizable(false);
			//居中
				jf.setLocationRelativeTo(null);
				
			//图片
				ImageIcon image= new ImageIcon("D:\\cc\\图\\壁纸\\default.png");
				JLabel imagelable =new JLabel(image);
				
			//文字标签
				JLabel name =new JLabel("账号:");
				JLabel pwd = new JLabel("密码:");
			
			//输入框
				//尺寸
					Dimension inputdim = new Dimension(320,30);
					
				JTextField inputname = new JTextField();
				inputname.setPreferredSize(inputdim);
				
				JPasswordField input_pwd = new JPasswordField();
				input_pwd.setPreferredSize(inputdim);
			
			//按钮
				JButton button = new JButton("登录");
				
			//添加组件
				jf.add(imagelable);
				jf.add(name);
				jf.add(inputname);
				jf.add(pwd);
				jf.add(input_pwd);
				jf.add(button);
			//可以显示
				jf.setVisible(true);
				
				//实例化 (实现了ActionListener接口的)类Login_Listener的对象
					Login_Listener ll= new Login_Listener();
				//把 监听器 ll 加入到 登录按钮 button 中
					button.addActionListener(ll);
				//传参
					ll.jtx=inputname;
					ll.jpwd=input_pwd;
	}
}

监听的类如前面所示

验证

简单的界面
成功登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值