简易QQ登陆界面

这是之前两三个星期左右刚开始学习Java中的swing组件时,用swing写的一个非常简单的QQ登陆界面,完全仿造腾讯QQ,当然看起来肯定比腾讯QQ渣的多。

先来看一下做好后的效果。
简易QQ登陆界面_第1张图片
 差不多也就这个样子了,关键是我不知道怎么把图片铺满整个背景。

import java.awt.BorderLayout;
import java.awt.Dimension;
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.JPanel;
import javax.swing.JPasswordField;


public class QQLogin {
		
	//入口主函数
	public static void main(String[] args) {
		QQLogin qq = new QQLogin();
		qq.initUI();
	}
	
	public void initUI(){
		// 实例化一个JFrame类的对象
		JFrame jf = new JFrame();
		// 设置JFrame类对象的属性值
		jf.setTitle("QQ");// 设置标题属性值
		jf.setSize(360, 280);// 设置窗体大小属性值
                // 设置点击窗体关闭按钮时执行退出程序的操作。
		jf.setDefaultCloseOperation(3);
		jf.setLocationRelativeTo(null);// 设置窗体显示在屏幕中央位置。
		jf.setResizable(false);// 设置禁止调整窗体的大小
		// 实例化BorderLayout边框布局
		BorderLayout bl = new BorderLayout();
		// 设置窗体的布局方式为边框布局
		jf.setLayout(bl);
		// 实例化一个ImageIcon类的对象
		ImageIcon image = new ImageIcon("images/3.jpg");
		// 实例化一个JLabel类的对象用来存放图片
		JLabel jlaImage = new JLabel(image);
		// 将jlaImage添加到窗体的北边
		jf.add(jlaImage, BorderLayout.NORTH);
				
		//实例化一个JPanel类的对象,显示登陆按钮
		JPanel jpan=new JPanel();
		JButton jbu= new JButton("登陆");
		jpan.add(jbu);
		//将面板添加到窗体的南边
		jf.add(jpan,BorderLayout.SOUTH);
			
		createWEST(jf);//调用创建西边区域的方法
		createCENTER(jf);//调用创建中间区域的方法
				
		jf.setVisible(true);// 设置窗体为可见
	}
	/**
	 * 创建西边区域的方法
	 */
	public void createWEST(JFrame jf) {
		// 实例化一个JPanel类的对象
		JPanel jpa = new JPanel();
		// 设置窗体的布局方式为流式布局,靠右显示
		jpa.setLayout(new FlowLayout(FlowLayout.RIGHT));
		//设置组件的大小
		jpa.setPreferredSize(new Dimension(100,80));
		// 实例化一个ImageIcon类的对象
		ImageIcon image = new ImageIcon("images/2.jpg");
		// 实例化一个JLabel类的对象
		JLabel jlaImage = new JLabel(image);
		// 将jlaImage添加到面板jpa上
		jpa.add(jlaImage);
		
		//将面板添加到窗体的西边
		jf.add(jpa,BorderLayout.WEST);
	}
	/**
	 * 创建中间区域的方法
	 */
	public void createCENTER(JFrame jf){
		// 实例化一个JPanel类的对象
		JPanel jpa1 = new JPanel();     
	       //实例化一个JComboBox类的对象,账号输入框
	       JComboBox BOX = new JComboBox();
	       //实例化一个JPassword类的对象,密码输入框
	       JPasswordField jp= new JPasswordField();
		//设置账号输入框的大小
		BOX.setPreferredSize(new Dimension(120,20));
		//设置账号输入框中的默认内容
		BOX.addItem("865884923");
		BOX.addItem("634478580");
		//设置账号输入框可编辑
		BOX.setEditable(true);
		//设置密码输入框的大小
		jp.setPreferredSize(new Dimension(120,20));
		//实例化一个JLabel类的对象,显示“注册账号”
		JLabel jt = new JLabel("注册账号");
		//实例化一个JLabel类的对象,显示“找回密码”
		JLabel jt1 = new JLabel("找回密码");
		JCheckBox cBOX=new JCheckBox("记住密码");
		cBOX.setPreferredSize(new Dimension(100,15));
		//实例化一个复选框对象,复选框中显示的内容为“自动登陆”
		JCheckBox cBOX1=new JCheckBox("自动登陆");
		//设置复选框的大小
		cBOX1.setPreferredSize(new Dimension(100,15));
		
		//将各组件按顺序添加到面板上
		jpa1.add(BOX);
		jpa1.add(jt);
		jpa1.add(jp);
		jpa1.add(jt1);
		jpa1.add(cBOX);
		jpa1.add(cBOX1);
		
		//将面板添加到窗的中间
		jf.add(jpa1,BorderLayout.CENTER);
	}
	
}

 为了防止代码都集中在一个initUI方法中,故创建了一个设置窗体西边的方法和一个设置窗体中间的方法,在initUI方法中调用者两个方法就可以了。

 

你可能感兴趣的:(Java)