qq简单界面的实现

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);
		}
	}
}
 

 

你可能感兴趣的:(背景图片,窗体组件)