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 + -
显示快捷键?