📄 client.java
字号:
if (s == null)
{
return;
}
int id = 0;
try
{
id = Integer.parseInt(s);
} catch (Exception e)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(mainUI.getjFrame(), "输入不正确", "警告", 2);
return;
}
if (id == (Integer.parseInt(mainUI.getjFrame().getTitle())))
{
aplay.soundPlay("/music/system.wav");
JOptionPane
.showMessageDialog(mainUI.getjFrame(), "不能添加自己", "警告", 2);
return;
}
Embody objMsg = new Embody();
objMsg.setOrder(setting.Command.addfriend);// 发出向服务器查找的请求信令只包括SourceID和DestID(
objMsg.setSourceID(constuser.getID());
objMsg.setDestID(id);
send(objMsg);
}
/**
* 响应ClientMainUI删除好友事件
*/
public void delFriend(int friendid)
{
Embody objMsg = new Embody();
objMsg.setOrder(setting.Command.delfriend);// 发出向服务器查找的请求信令只包括SourceID和DestID(
objMsg.setSourceID(constuser.getID());
objMsg.setDestID(friendid);
send(objMsg);
}
/**
* 接收删除好友返回信令
*/
public void delFriendOrderRecieve(Embody objMsg)
{
String order = objMsg.getOrder();
if (order.equals(setting.Command.delfriendsuccess))
{
friendTree.delfriend(objMsg.getDestID());
mainUI.getjFrame();
mainUI.getjFrame().setVisible(true);
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(mainUI.getjFrame(), "删除成功", "提示", 2);
}
if (order.equals(setting.Command.delfriendfail))
{
aplay.soundPlay("/music/system.wav");
JOptionPane
.showMessageDialog(mainUI.getjFrame(), "没有这个好友", "警告", 2);
}
}
/**
* 响应ChatUI发送按钮事件
*/
public void sendChatMsg(String s, int souceid, int destid)
{
Embody objMsg = new Embody();
objMsg.setOrder(setting.Command.personchat);
objMsg.setObjMessage(s);
objMsg.setSourceID(souceid);
objMsg.setDestID(destid);
send(objMsg);
}
/**
* 相应ChatUI密送按钮事件
*/
public void sendIMsg(String s, int souceid, int destid)
{
Embody objMsg = new Embody();
objMsg.setOrder(setting.Command.Inchat);
objMsg.setObjMessage(s);
objMsg.setSourceID(souceid);
objMsg.setDestID(destid);
send(objMsg);
}
/**
* 响应ClientMainUI个人设置按钮事件
*/
public void ModifyUserInfo()
{
modify = new ModifyUserUI();// 实例化修改信息窗体
modify.getJFrame();// 得到窗体
modify.getJTextField().setText(userInfo.getNickName());
modify.jLabel10.setText(String.valueOf(userInfo.getID()));//
modify.getJPasswordField().setText(userInfo.getPassword());
modify.getJTextField1().setText(userInfo.getName());
modify.getJTextField2().setText(userInfo.getAge());
modify.getJComboBox().setSelectedItem(userInfo.getSex());
modify.getJComboBox3().setSelectedItem(userInfo.getConstellation());
modify.getJTextArea().setText(userInfo.getExplain());
}
/**
* 相应查询好友信息事件
*/
public void checkfriendInfo(int friendid)
{
Embody objMsg = new Embody();
objMsg.setSourceID(constuser.getID());
objMsg.setDestID(friendid);
objMsg.setOrder(setting.Command.checkfriendinfo);
send(objMsg);
}
/**
* 相应查询IP事件
*/
public void checkfriendIP( int friendid)
{
Embody objMsg = new Embody();
objMsg.setSourceID(constuser.getID());
objMsg.setDestID(friendid);
objMsg.setOrder(setting.Command.checkfriendIP);
send(objMsg);
}
/**
* 接受好友IP
*/
public void checkfriendIPReceive (Embody objMsg)
{
String order = objMsg.getOrder();
if (order.equals(setting.Command.checkfriendIP))
{
User friendInfo = new User();
friendInfo = (User) objMsg.getObjMessage();
JOptionPane.showMessageDialog(null, friendInfo.getIP(),"好友IP地址", 1);
}
}
/**
* 相应打开聊天记录
*/
@SuppressWarnings("unchecked")
public void openChatRecord(String nodename)
{
if (nodename.equals("我的好友") || nodename.equals("在线的好友")
|| nodename.equals("不在线的好友"))
{
// 选择上叙节点不能弹出节点
} else
{
if (Client.chatrecord == null)
{
Client.chatrecord = new Chatrecord(constuser.getID(), Integer
.parseInt(nodename));
chatrecordvector.add(Client.chatrecord);
}
boolean newJFrame = true;
for (int i = 0; i < chatrecordvector.size(); i++)
{
Chatrecord c = (Chatrecord )chatrecordvector.elementAt(i);// 遍历所有ID对 若找到相等的
if (c.destid == Integer.parseInt(nodename))
{
newJFrame = false;// 不NEW 新窗口
Client.chatrecord.getJFrame();
Client.chatrecord.jFrame.setVisible(true);
Client.chatrecord.jFrame.setTitle("与好友" + nodename + "的聊天记录");
}
}
if (newJFrame)// 若没找到 则new一个新窗口
{
chatrecord = new Chatrecord(constuser.getID(), Integer
.parseInt(nodename));// 是否有新的好友和你聊天 有则再开启一个窗口
chatrecordvector.add(chatrecord);
chatrecord.getJFrame();
chatrecord.jFrame.setVisible(true);
chatrecord.jFrame.setTitle("与好友" + nodename + "的聊天记录");
}
}
}
/**
* 接收好友个人信息
*/
public void checkFriendInfoOrderRecieve(Embody objMsg)
{
String order = objMsg.getOrder();
if (order.equals(setting.Command.checkfriendinfo))
{
User friendInfo = new User();
friendInfo = (User) objMsg.getObjMessage();
modify = new ModifyUserUI();// 实例化修改信息窗体
modify.getJFrame();// 得到窗体
modify.getJFrame().setTitle("好友的个人资料");
modify.getJTextField().setText(friendInfo.getNickName());
modify.getJTextField().setEditable(false);
modify.jLabel10.setText(String.valueOf(friendInfo.getID()));//
modify.getJPasswordField().setVisible(false);
modify.getJTextField1().setText(friendInfo.getName());
modify.getJTextField1().setEditable(false);
modify.getJTextField2().setText(friendInfo.getAge());
modify.getJTextField2().setEditable(false);
modify.getJComboBox().setSelectedItem(friendInfo.getSex());
modify.getJComboBox().setEnabled(false);
modify.getJComboBox3().setEnabled(false);
modify.getJComboBox3().setSelectedItem(
friendInfo.getConstellation());
modify.getJTextArea().setEditable(false);
modify.getJTextArea().setText(friendInfo.getExplain());
modify.getJButton().setVisible(false);
modify.getJButton1().setVisible(false);
}
}
/**
* 响应ModifyUserUI修改按钮事件
*/
@SuppressWarnings("deprecation")
public void ModifyUserInfoOrder()
{
userInfo.setNickName(Client.modify.getJTextField().getText());// 设置用户昵称
userInfo.setPassword(Client.modify.getJPasswordField().getText());// 设置用户密码
userInfo.setName(Client.modify.getJTextField1().getText());
userInfo.setAge(Client.modify.getJTextField2().getText());
if (Client.modify.getJComboBox().getSelectedItem() != null)
{
userInfo.setSex(Client.modify.getJComboBox().getSelectedItem()
.toString());// 设置用户性别
}
if (Client.modify.getJComboBox3().getSelectedItem() != null)
{
userInfo.setConstellation(Client.modify.getJComboBox3()
.getSelectedItem().toString());// 设置用户星座
}
userInfo.setExplain(Client.modify.getJTextArea().getText());
Embody objMsg=new Embody();
objMsg.setSourceID(constuser.getID());
objMsg.setOrder(setting.Command.modifyusrinfo);
objMsg.setObjMessage(userInfo);
send(objMsg);
}
/**
* 响应FriendTree双击某好友节点事件
*/
@SuppressWarnings("unchecked")
public void openChatUI(String nodename)
{
if (nodename.equals("我的好友") || nodename.equals("在线好友")
|| nodename.equals("离线好友"))
{
// 选择上叙节点不能弹出节点
}
else
{
if (Client.chatui == null)
{
Client.chatui = new ChatUI(constuser.getID(), Integer
.parseInt(nodename));
chatUIvector.add(Client.chatui);
}
boolean newJFrame = true;
for (int i = 0; i < chatUIvector.size(); i++)
{
ChatUI c = (ChatUI )chatUIvector.elementAt(i);// 遍历所有ID对 若找到相等的
if (c.destid == Integer.parseInt(nodename))
{
newJFrame = false;// 不NEW 新窗口
Client.chatui.getJFrame();
Client.chatui.jFrame.setVisible(true);
Client.chatui.jFrame.setTitle("与好友" + nodename + "对话中");
}
}
if (newJFrame)// 若没找到 则new一个新窗口
{
chatui = new ChatUI(constuser.getID(), Integer
.parseInt(nodename));// 是否有新的好友和你聊天 有则再开启一个窗口
chatUIvector.add(chatui);
chatui.getJFrame();
chatui.jFrame.setVisible(true);
chatui.jFrame.setTitle("与好友" + nodename + "对话中");
}
}
}
/**
* 打开发送企业消息窗口
*/
public void openInChatUI(String nodename)
{
inchatui = new InchatUI(constuser.getID(), Integer
.parseInt(nodename));
Client.inchatui.getJFrame();
Client.inchatui.jFrame.setVisible(true);
Client.inchatui.jFrame.setTitle("给好友" + nodename + "发企业消息");
}
/**
* 响应注册按钮事件
*/
@SuppressWarnings("deprecation")
public void regUser()
{
userInfo = new User();
userInfo.setNickName(Client.userRegUI.getJTextField().getText());// 设置用户昵称
userInfo.setPassword(Client.userRegUI.getJPasswordField().getText()
.trim());// 设置用户密码
userInfo.setIP(Client.userRegUI.getIP().getText());
userInfo.setName(Client.userRegUI.getJTextField1().getText());
userInfo.setAge(Client.userRegUI.getJTextField2().getText());
userInfo.setSex(Client.userRegUI.getJComboBox().getSelectedItem()
.toString());// 设置用户性别
userInfo.setConstellation(Client.userRegUI.getJComboBox3()
.getSelectedItem().toString());// 设置用户星座
userInfo.setExplain(Client.userRegUI.getJTextArea().getText());// 设置个人说明
if (userInfo.getNickName().equals(""))
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "注册失败,昵称没有填写", "警告", 1);
return;
}
if (userInfo.getNickName().length() > 10)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "昵称不能超过10个字符", "警告", 1);
return;
}
if (userInfo.getPassword().length() < 6)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "注册失败,密码不能少于六位数", "警告", 1);
return;
}
if (userInfo.getPassword().length() > 16)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "密码不能超过16个字符", "警告", 1);
return;
}
if (userInfo.getName().equals(""))
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "注册失败,姓名没有填写", "警告", 1);
return;
}
if (userInfo.getName().length() > 8)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "姓名不能超过8个字符", "警告", 1);
return;
}
if (userInfo.getAge().equals(""))
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "注册失败,年龄没有填写", "警告", 1);
return;
}
try
{
Integer.parseInt(userInfo.getAge());
} catch (Exception e)
{
aplay.soundPlay("/music/system.wav");
JOptionPane.showMessageDialog(null, "注册失败,年龄必须是数字", "警告", 1);
return;
}
Embody objMsg = new Embody();
objMsg.setOrder(setting.Command.register);
objMsg.setObjMessage(userInfo);
send(objMsg);
}
/**
* 得到当前时间
*/
public static String getTime()
{
Calendar calendar = GregorianCalendar.getInstance(Locale.getDefault());
Date date = calendar.getTime();// 得到当前时间
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return formatter.format(date);
}
/**
* 程序入口main方法
*/
public static void main(String[] args)
{
client = new Client();
client.init();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -