qqlogin.java

来自「QQ聊天」· Java 代码 · 共 201 行

JAVA
201
字号
package com.sato.client.loginface;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BorderFactory;
import javax.swing.Box;
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;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;

public class QQlogin extends JFrame implements ActionListener{
	private JPanel jp1;
	private JPanel jp2;
	private JPanel jp3;
	private JLabel jl1;
	private JLabel jl2;
	private JLabel jl3;
	private JLabel jl4;
	private JLabel jlabel;
	private JLabel jlabel2;
	private Box bigbox;	
	private Box smbox;
	private Box inputbox;
	private Box box1;
	private Box box2;
	private Box checkbox;
	private Box checkbox1;
	private Box checkbox2;
	private Box smbox2;
	private Box commitbox;
	private Box box4;
	private Box setbox;
	private Box netbox;
	private Box box3;
	private JComboBox jcb;
	private JCheckBox jck1;
	private JCheckBox jck2;
	private JComboBox jc;
	private Border b1=BorderFactory.createEmptyBorder(8, 8, 8, 8);	
	private Border b3;
	private JButton setbt;
	private JButton loginbt;
	private JTextField jt;
	private JPasswordField jpw;	
	public QQlogin(){
		this.setSize(330, 245);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		this.setTitle("QQ用户登录");
		this.setResizable(false);
		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		File filename = new File("./images/total/qqicon.gif");
		Image jfimage = Toolkit.getDefaultToolkit().getImage(
				filename.getAbsolutePath());
		this.setIconImage(jfimage);
		jp1=new JPanel();
		jp1.setBackground(new Color(230,255,255));
		this.getContentPane().add(jp1);
		jp1.setLayout(new  BorderLayout());
		JLabel photo=new JLabel(new ImageIcon("./images/total/qqbanner.jpg"));
		jp1.add(photo, BorderLayout.NORTH);	
		bigbox=Box.createVerticalBox();
		jp1.add(bigbox);
		bigbox.setBorder(b1);
		bigbox.add(this.getJp2());
		bigbox.add(Box.createVerticalStrut(10));
		bigbox.add(this.getSmbox2());
		bigbox.add(Box.createVerticalStrut(10));
		bigbox.add(this.getJp3());
		jp1.add(bigbox, BorderLayout.CENTER);
		
		this.setVisible(true);
	}
	public JPanel getJp2(){
		jp2=new JPanel();
		Border border1=BorderFactory.createTitledBorder("");
		jp2.setBorder(border1);
		jp2.setBackground(new Color(247,255,255));
		smbox=Box.createVerticalBox();
		jp2.add(smbox);
		inputbox=Box.createHorizontalBox();
		box1=Box.createVerticalBox();
		inputbox.add(box1);
		jl1=new JLabel("QQ帐号");
		jl2=new JLabel("QQ密码");
		box1.add(jl1);
		box1.add(Box.createVerticalStrut(30));
		box1.add(jl2);	
		box2=Box.createVerticalBox();
		inputbox.add(Box.createHorizontalStrut(20));
		inputbox.add(box2);
		String[] qqnumber={"123456","2564254","2459774"};
		jcb=new JComboBox(qqnumber);
		jcb.setEditable(true);
		jpw=new JPasswordField();
		box2.add(jcb);
		box2.add(Box.createVerticalStrut(20));
		box2.add(jpw);	
		checkbox=Box.createHorizontalBox();
		checkbox1=Box.createHorizontalBox();
		checkbox2=Box.createHorizontalBox();
		jck1=new JCheckBox();
		jl3=new JLabel("记住号码");
		jck2=new JCheckBox();
		jl4=new JLabel("记住密码");
		checkbox1.add(jck1);
		checkbox1.add(Box.createHorizontalStrut(5));
		checkbox1.add(jl3);
		checkbox2.add(jck2);
		checkbox2.add(Box.createHorizontalStrut(5));
		checkbox2.add(jl4);
		checkbox.add(checkbox1);
		checkbox.add(Box.createHorizontalStrut(30));
		checkbox.add(checkbox2);
		smbox.add(inputbox);
		smbox.add(Box.createVerticalStrut(10));
		smbox.add(checkbox);
		return jp2;
	}
	public Box getSmbox2(){
		smbox2=Box.createVerticalBox();
		commitbox=Box.createHorizontalBox();
		smbox2.add(commitbox);
		smbox2.add(Box.createVerticalStrut(20));
		setbt=new JButton("设置↓");
		setbt.addActionListener(this);
		loginbt=new JButton("登录");
		commitbox.add(Box.createVerticalStrut(20));
		commitbox.add(setbt);
		commitbox.add(Box.createVerticalStrut(20));
		commitbox.add(Box.createHorizontalStrut(60));
		commitbox.add(Box.createVerticalStrut(20));
		commitbox.add(loginbt);
		commitbox.add(Box.createVerticalStrut(20));
		return smbox2;
	}
	public JPanel getJp3(){
		jp3=new JPanel();
		jp3.setBackground(new Color(230,255,255));
		setbox=Box.createHorizontalBox();
		jp3.add(setbox);
		b3=BorderFactory.createTitledBorder("网络设置");
		jp3.setBorder(b3);
		netbox=Box.createHorizontalBox();
		setbox.add(netbox);
		box3=Box.createVerticalBox();
		netbox.add(box3);
		netbox.add(box3);
		jlabel=new JLabel("服务器Ip:");
		jlabel2=new JLabel("端 口 号:");
		box3.add(jlabel);
		box3.add(Box.createVerticalStrut(20));
		box3.add(jlabel2);
		
		box4=Box.createVerticalBox();
		netbox.add(Box.createHorizontalStrut(10));
		netbox.add(box4);
		String[] netnumber={"127.0.0.1","127.0.0.2","127.0.0.3"};
		jc=new JComboBox(netnumber);
		jt=new JTextField(20);
		box4.add(jc);
		box4.add(Box.createVerticalStrut(16));
		box4.add(jt);
		return jp3;
	}
	public JButton getSetbt(){
		return setbt;
	}
	public JButton getLoginbt(){
		return loginbt;
	}
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("设置↓")) {
			this.getSetbt().setText("设置↑");
			this.setSize(330, 370);
		} else {
			this.getSetbt().setText("设置↓");
			this.setSize(330, 245);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?