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;
/**
* 仿QQ登入介面
*
* @author jiang
*/
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("QQ2012正式版");
// 表單組件初始化
init();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設定布局方式為絕對位置
this.setLayout(null);
this.setBounds(0, 0, 355, 265);
// 設定表單的標題表徵圖
Image image = new ImageIcon("e:/a.gif").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("e:/background.jpg").getImage();
jl1.setIcon(new ImageIcon(image1));
jl1.setBounds(0, 0, 355, 265);
// QQ登入頭像設定
jl2 = new JLabel();
Image image2 = new ImageIcon("e:/a.gif").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);
// 密碼輸入框
password = new JPasswordField();
password.setBounds(100, 130, 150, 20);
// 密碼輸入框旁邊的文字
jl4 = new JLabel("找回密碼");
jl4.setBounds(260, 130, 70, 20);
// 輸入框下方文字
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(280, 200, 65, 20);
// 給按鈕添加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();
JOptionPane.showConfirmDialog(null, "您輸入的使用者名稱是"+getName);
}
}
});
bu2 = new JButton("多帳號");
bu2.setBounds(5, 200, 75, 20);
bu3 = new JButton("設定");
bu3.setBounds(100, 200, 65, 20);
// 所有組件用容器裝載
jl1.add(jl2);
jl1.add(jl3);
jl1.add(jl4);
jl1.add(jc1);
jl1.add(jc2);
jl1.add(jcb);
jl1.add(bu1);
jl1.add(bu2);
jl1.add(bu3);
con.add(jl1);
con.add(username);
con.add(password);
}
public static void main(String[] args) {
// 執行個體化對象
GUIQQ qq = new GUIQQ();
}
}