此代码为韩顺平老师QQ开发项目第一讲QQ客户端登录界面
//QQ客户端登录界面;
package com.qq.client.view;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import com.qq.client.model.QqClientUser;
import com.qq.common.User;
public class QqClientLogin extends JFrame implements ActionListener{
//定义北部需要的组件;
JLabel jbl1;
//定义中部需要的组件;
JTabbedPane jtp;//由一个选项卡窗口管理三个JPanel;
JPanel jp2,jp3,jp4;
//jp2包括4个JLabel,1个JButton,1个JTextField,1个JPasswordField,2个JCheckBox;
JLabel jp2_jbl1,jp2_jbl2,jp2_jbl3,jp2_jbl4;
JButton jp2_jb1;
JTextField jp2_jtf;
JPasswordField jp2_jpf;
JCheckBox jp2_jcb1,jp2_jcb2;
//定义南部需要的组件;
//1个流布局,3个按钮;
JPanel jp1;
JButton jp1_jb1,jp1_jb2,jp1_jb3;
public static void main(String[] args) {
// TODO Auto-generated method stub
QqClientLogin qqClientLogin=new QqClientLogin();
}
public QqClientLogin(){
//处理北部;
jbl1=new JLabel(new ImageIcon("image/tou.jpg"));
//处理中部;
//网格布局;
jp2=new JPanel(new GridLayout(3,3));
//处理4个JLabel;
jp2_jbl1=new JLabel("QQ号码",JLabel.CENTER);
jp2_jbl2=new JLabel("QQ密码",JLabel.CENTER);
jp2_jbl3=new JLabel("忘记密码",JLabel.CENTER);
jp2_jbl3.setForeground(Color.blue);
jp2_jbl4=new JLabel("申请密码保护",JLabel.CENTER);
//处理1个JButton;
jp2_jb1=new JButton(new ImageIcon("image/clear.jpg"));
jp2_jtf=new JTextField();
jp2_jpf=new JPasswordField();
jp2_jcb1=new JCheckBox("隐身登录");
jp2_jcb2=new JCheckBox("记住密码");
//把控件按顺序加入到jp2
jp2.add(jp2_jbl1);
jp2.add(jp2_jtf);
jp2.add(jp2_jb1);
jp2.add(jp2_jbl2);
jp2.add(jp2_jpf);
jp2.add(jp2_jbl3);
jp2.add(jp2_jcb1);
jp2.add(jp2_jcb2);
jp2.add(jp2_jbl4);
//创建选项卡窗口;
jtp=new JTabbedPane();
jtp.add("QQ号码",jp2);
jp3=new JPanel();
jtp.add("手机号码",jp3);
jp4=new JPanel();
jtp.add("电子邮件",jp4);
//处理南部
jp1=new JPanel();
jp1_jb1=new JButton(new ImageIcon("image/login.jpg"));
//响应用户点击登录;
jp1_jb1.addActionListener(this);
jp1_jb2=new JButton(new ImageIcon("image/logout.jpg"));
jp1_jb3=new JButton(new ImageIcon("image/xiangdao.gif"));
//把三个按钮放入到jp1;
jp1.add(jp1_jb1);
jp1.add(jp1_jb2);
jp1.add(jp1_jb3);
//把jp1放在南部;
this.add(jp1,"South");
//把jtp放在中间;
this.add(jtp,"Center");
//把jbl1放在北部;
this.add(jbl1,"North");
this.setSize(350,240);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//如果用户点击登录;
if(e.getSource()==jp1_jb1){
QqClientUser qqClientUser=new QqClientUser();
User u=new User();
u.setUserId(jp2_jtf.getText().trim());
u.setPasswd(new String(jp2_jpf.getPassword()));
if(qqClientUser.checkUser(u)){
//进入好友界面;
new QqFriendList();
//同时关闭登录界面;
this.dispose();
}else{
JOptionPane.showMessageDialog(this, "用户名密码错误");
}
}
}
}
注:JLabel–>JPanel–>JFrame