只需億小串代碼,教你用java仿製qq
直奔主題,代碼如下:
import java.awt.Color;
import java.awt.Container;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class GUIQQ extends JFrame {
// 用戶名
private JTextField username;
// 密碼
private JPasswordField password;
// 小容器
private JLabel jl1;
private JLabel jl2;
private JLabel jl3;
private JLabel jl4;
// 小按鈕
private JButton bu1;
private JButton bu2;
private JButton bu3;
// 複選框
private JCheckBox jc1;
private JCheckBox jc2;
// 列表框
private JComboBox jcb;
/*
- 構造方法
/
public GUIQQ() {
// 設置窗口標題
this.setTitle("QQ");
// 窗體組件初始化
init();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設置佈局方式爲絕對定位
this.setLayout(null);
this.setBounds(0, 0, 355, 265);
// 設置窗體的標題圖標
Image image = new ImageIcon("image//T83XSMYF}~B)$$6}XYZ4KM3.png").getImage();
this.setIconImage(image);
// 窗體大小不能改變
this.setResizable(false);
// 居中顯示
this.setLocationRelativeTo(null);
// 窗體可見
this.setVisible(true);
}
/ - 初始化方法
*/
public void init() {
// 創建一個容器
Container con = this.getContentPane();
jl1 = new JLabel();
// 設置背景圖片
Image image1 = new ImageIcon("image//2BF5MB~_47SZRCV`SEL44OD.png").getImage();
jl1.setIcon(new ImageIcon(image1));
jl1.setBounds(0, 0, 355, 265);
// QQ登錄頭像設定
jl2 = new JLabel();
Image image2 = new ImageIcon("image//D0PCQ~_MI}A1M9ZF8Z]M0T7.png").getImage();
jl2.setIcon(new ImageIcon(image2));
jl2.setBounds(40, 95, 50, 60);
// 用戶號碼登錄輸入框
username = new JTextField();
username.setBounds(100, 100, 150, 20);
// 用戶號碼登錄輸入框旁邊的文字
jl3 = new JLabel("註冊賬號");
jl3.setBounds(260, 100, 70, 20);
jl3.setForeground(Color.BLUE);
// 密碼輸入框
password = new JPasswordField();
password.setBounds(100, 130, 150, 20);
// 密碼輸入框旁邊的文字
jl4 = new JLabel("找回密碼");
jl4.setBounds(260, 130, 70, 20);
jl4.setForeground(Color.BLUE);
// 輸入框下方文字
jc1 = new JCheckBox("記住密碼");
jc1.setBounds(105, 155, 80, 15);
jc2 = new JCheckBox("自動登錄");
jc2.setBounds(185, 155, 80, 15);
// 用戶登錄狀態選擇
jcb = new JComboBox();
jcb.addItem("在線");
jcb.addItem("隱身");
jcb.addItem("離開");
jcb.setBounds(40, 150, 55, 20);
// 按鈕設定
bu1 = new JButton("登錄");
bu1.setBounds(100, 175,150,30);
// 給按鈕添加1個事件
bu1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String str=e.getActionCommand();
if("登錄".equals(str)){
String getName =username.getText();
// String getPwd =password.getText();
String userpassword = new String(password.getPassword());
String sql ="secelt * from while name='"username"'and psw'"=userpassword'"";
JOptionPane.showConfirmDialog(null,"您輸入的用戶名是"+getName);
}
}
});
jl1.add(jl2);
jl1.add(jl3);
jl1.add(jl4);
jl1.add(jc1);
jl1.add(jc2);
jl1.add(jcb);
jl1.add(bu1);
con.add(jl1);
con.add(username);
con.add(password);
}
public static void main(String[] args) {
// 實例化對象
GUIQQ qq = new GUIQQ();
}
}