package client.control; |
import java.awt.Point; |
import java.awt.Rectangle; |
import java.awt.event.MouseAdapter; |
import java.awt.event.MouseEvent; |
import javax.swing.JOptionPane; |
import com.MyTools; |
import com.MyTools.Flag; |
import client.common.MyLabel; |
import client.frame.LoginFrame; |
import client.frame.RegisterFrame; |
import client.socket.CS_TCP; |
//import com.sun.awt.AWTUtilities;//这个导入很重要,不导入报错,导入但又警告,所以不要理警告 |
/** |
* @author LXA |
* 登录窗体,继承自LoginFrame |
*/ |
public class Login extends LoginFrame |
{ |
int width= 350 ; |
int height= 266 ; |
private Point lastPoint = null ; //存放按下鼠标时的坐标点 |
public CS_TCP cs_TCP= null ; //声明一个客户端TCP |
public Main main; //声明一个主窗体 |
public RegisterFrame registerFrame= null ; |
/** |
* 程序的主入口 |
* @param args |
*/ |
public static void main(String[] args) |
{ |
MyTools.changeSkin(); //更换皮肤 |
new Login(); |
} |
|
|
/** |
* 登录窗体的构造方法 |
*/ |
public Login() |
{ |
init(); |
} |
/** |
* 初始化 |
*/ |
public void init() |
{ |
MyTools.setWindowsMiddleShow( this ,width,height); //设置窗体居中显示 |
new MyLabel(lbl登录, "../img/button/button_login" , "png" ).addEvent(); |
new MyLabel(lbl最小化, "../img/button/login_minsize" , "png" ).addEvent(); |
new MyLabel(lbl退出, "../img/button/login_exit" , "png" ).addEvent(); |
new MyLabel(lbl多账号, "../img/button/login_duozhanghao" , "png" ).addEvent(); |
new MyLabel(lbl设置, "../img/button/login_setting" , "png" ).addEvent(); |
new MyLabel(lbl注册账号).addEvent(); |
initUserStatus(); |
//AWTUtilities.setWindowOpaque(this, false);//设置窗体完全透明 |
addEvent(); |
this .setVisible( true ); |
main= new Main(); |
} |
/** |
* 初始化用户是否在线等状态 |
*/ |
public void initUserStatus() |
{ |
comboBox状态.removeAllItems(); |
comboBox状态.addItem(MyTools.getIcon( "../img/status/status_online_12.png" )); |
comboBox状态.addItem(MyTools.getIcon( "../img/status/status_qme_12.png" )); |
comboBox状态.addItem(MyTools.getIcon( "../img/status/status_leave_12.png" )); |
comboBox状态.addItem(MyTools.getIcon( "../img/status/status_busy_12.png" )); |
comboBox状态.addItem(MyTools.getIcon( "../img/status/status_invisible_12.png" )); |
} |
|
/** |
* 登录到服务器 |
*/ |
public void login() |
{ |
String name=textField用户名.getText(); |
String password= new String(pwd密码.getPassword()); |
if (name.equals( "" )||password.equals( "" )) |
JOptionPane.showMessageDialog( this , "用户名和密码不能为空!" , "错误" ,JOptionPane.ERROR_MESSAGE); |
else |
{ |
try |
{ |
if (cs_TCP== null ) |
cs_TCP= new CS_TCP(MyTools.QQServerIP, MyTools.QQServerPort, this ,main); |
System.out.println( "开始检测用户名和密码……" ); |
|
cs_TCP.sendMessage(Flag.LOGIN+MyTools.FLAGEND+name+MyTools.SPLIT1+password+MyTools.SPLIT1+main.getServerPort()+MyTools.SPLIT1+comboBox状态.getSelectedIndex()); |
} |
catch (Exception e) |
{ |
JOptionPane.showMessageDialog( null , "连接服务器失败!请检查网络连接或确保QQ服务器已启动!" ); |
} |
} |
} |
|
/** |
* 处理窗体的鼠标按下事件 |
* @param e |
*/ |
public void mousePress(MouseEvent e) |
{ |
lastPoint = e.getLocationOnScreen(); |
} |
/** |
* 处理窗体的拖拽事件 |
* @param e |
*/ |
public void mouseDrag(MouseEvent e) |
{ |
Point point = e.getLocationOnScreen(); |
int offsetX = point.x - lastPoint.x; |
int offsetY = point.y - lastPoint.y; |
Rectangle bounds = this .getBounds(); |
bounds.x += offsetX; |
bounds.y += offsetY; |
this .setBounds(bounds); |
lastPoint = point; |
} |
|
/** |
* 给窗体添加事件 |
*/ |
public void addEvent() |
{ |
lbl登录.addMouseListener( new MouseAdapter() |
{ |
//登录按钮的单击事件 |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
login(); |
} |
}); |
this .addMouseListener( new MouseAdapter() |
{ |
//窗体的鼠标按下事件 |
@Override |
public void mousePressed(MouseEvent e) |
{ |
mousePress(e); |
} |
}); |
this .addMouseMotionListener( new MouseAdapter() |
{ |
@Override |
public void mouseDragged(MouseEvent e) |
{ |
mouseDrag(e); |
}; |
}); |
lbl退出.addMouseListener( new MouseAdapter() |
{ |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
System.exit( 0 ); |
} |
}); |
lbl最小化.addMouseListener( new MouseAdapter() |
{ |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
JOptionPane.showMessageDialog( null , "功能暂未实现!敬请期待!" , "温馨提示" , JOptionPane.INFORMATION_MESSAGE); |
} |
}); |
lbl多账号.addMouseListener( new MouseAdapter() |
{ |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
JOptionPane.showMessageDialog( null , "功能暂未实现!敬请期待!" , "温馨提示" , JOptionPane.INFORMATION_MESSAGE); |
} |
}); |
lbl设置.addMouseListener( new MouseAdapter() |
{ |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
JOptionPane.showMessageDialog( null , "功能暂未实现!敬请期待!" , "温馨提示" , JOptionPane.INFORMATION_MESSAGE); |
} |
}); |
lbl注册账号.addMouseListener( new MouseAdapter() |
{ |
@Override |
public void mouseClicked(MouseEvent e) |
{ |
new Register(); |
} |
}); |
} |
} |