⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java

📁 是一个JAVA通讯程序.功能不多
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		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 + -