欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

qq简单界面的实现

程序员文章站 2022-05-31 09:06:50
...

qq编写简单界面,主要的是将图片添加到界面,在网上观察了别人的写法再加上自己的;

 

编写界面需要用的是:

JFrame 窗体

JPanel 容器

FlowLayout()  流式布局  JPanel默认的布局

BorderLayout ()   JFrame默认的布局

  

Container con =this.getContentPane();  容器

 

Jlabel  标签

ImageIcon images = new ImageIcon("qqbk.png");

images.getImage();

创建图片对象并获得图片

 

label1.setIcon(images);  添加到容器中

setBounds(); 位置,及创建的高度和宽度

 

JTextField() 文本输入

JPasswordField()密码输入框

JCheckBox()创建多选框

JComboBox()下拉框

 

监听器:ActionListener 动作监听器


qq简单界面的实现
 

 

package com.ui.com;

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

public class qq  extends JFrame{

	public static void main(String[] args) {
    	qq q = new qq();
    	q.qqinit();

	}
	
	public void qqinit(){
		this.setTitle("qq界面");
		this.setSize(400, 300);
		this.setDefaultCloseOperation(3);
//		this.getContentPane().setBackground(Color.BLACK);
		//设置流式布局
		this.setLayout(new FlowLayout());
		//设置禁止改变窗体的大小
		this.setResizable(false);
		
		
		//添加组件
		//将图片添加到窗体上面
	  //创建容器,设置背景图片
		Container con =this.getContentPane();
		JLabel label1 = new JLabel();
//		Image image1 = new ImageIcon("qqbk.png").getImage();
//		label1.setIcon(new ImageIcon(image1));
		//设置界面的背景图片
		ImageIcon images = new ImageIcon("qqbk.png");
		images.getImage();
		label1.setIcon(images);
		label1.setBounds(0,0,400,300);
		//将背景图片添加到容器中
		con.add(label1);
		
		//qq图像的设定
		JLabel label2 = new JLabel();
		//将图添加到界面
//		Image image2 = new ImageIcon("qqtx.png").getImage();
//		label2.setIcon(new ImageIcon(image2));
		//将图片添加到界面
		ImageIcon icon = new ImageIcon("qqtx.png");
		icon.getImage();
		label2.setIcon(icon);
		//设置指定的位置
		label2.setBounds(40,95,79,79);
		label1.add(label2);
		
		
		//添加账号输入框,并添加在窗体上
		JTextField username = new JTextField();
		username.setBounds(140,95,160,25);
		JLabel label3 = new JLabel("注册账号:");
		label3.setBounds(300,95,70,25);
		label1.add(username);
		label1.add(label3);
		
		//添加密码输入框,添加在窗体上
		JPasswordField  pwd = new JPasswordField();
		pwd.setBounds(140,135,160,25);
		JLabel label4 = new JLabel("找回密码:");
		label4.setBounds(300,135,70,25);
		label1.add(pwd);
		label1.add(label4);
		
		//输入框下方的选择
		//使用JCheckBox创建多选框
		JCheckBox box1 = new JCheckBox("记住密码");
		box1.setBounds(140,170,80,15);
		JCheckBox box2 = new JCheckBox("自动登陆");
		box2.setBounds(230,170,80,15);
		label1.add(box1);
		label1.add(box2);
		
		//在线状态的选择
		JComboBox<String> com = new JComboBox<String>();
		//在下拉框中添加属性
		com.addItem("在线");
		com.addItem("离线");
		com.addItem("隐身");
		//设置该框在界面中的位置
		com.setBounds(40,175,79,20);
		//添加到容器中
		label1.add(com);
		
		//设置界面的按钮
		JButton  btn1 = new JButton("登陆");
		btn1.setBounds(250,220,80,30);
		label1.add(btn1);
		//设置取消按钮
		JButton  btn2 = new JButton("取消");
		btn2.setBounds(150,220,80,30);
		label1.add(btn2);
		
		this.setVisible(true);
		//添加监听器对象
     qqListener qlis = new qqListener(username,pwd,this);
     //将登陆,取消  加入监听器
     btn1.addActionListener(qlis);
     btn2.addActionListener(qlis);
	 }

}

 

package com.ui.com;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class qqListener implements ActionListener {
	private JTextField username;
	private JPasswordField pwd;
	private qq qq;
	
	public qqListener(JTextField username, JPasswordField pwd, qq qq) {
		this.username = username;
		this.pwd = pwd;
		this.qq = qq;
	}
//实现监听器的方法
	public void actionPerformed(ActionEvent e){
//		String str = (String) e.getSource();
//		System.out.println(str+">>>>>>>>>>>>>>>>>");
		//获得默认的动作按钮
		String command = e.getActionCommand();
		System.out.println("command "+command);
		//判断是否登陆
		if(command.equals("登陆")){
			//得到username框中的字符
			String name = username.getText();
			//得到密码框中的字符串
			String pwds = pwd.getText();
			//判断账号和密码是否都为1
			if(name.equals("1")&&pwds.equals("1")){
				//如果为1 ,就不显示现在的界面
				qq.setVisible(false);
				//要显示的界面
				mainUI mu = new mainUI();
				mu.maininit();
				}else{
					//如果密码和账号错误弹出提示框
					JOptionPane.showMessageDialog(null, "帐号错误");
				}
			//打印账号和密码
			System.out.println("账号" + username);
			System.out.println("密码" + pwd);
		}else  {
			qq.setVisible(false);
		}
	}
}