XMPP通讯开发-仿QQ显示好友列表和用户组
2013-09-26 21:56
435 查看
在 XMPP通讯开发-服务器好友获取以及监听状态变化 中我们获取服务器上的用户好友信息,然后结合XMPP通讯开发-好友获取界面设计 我们将两个合并起来,首先获取用户组,然后把用户组用List存储起来用作对比好友的用户组,根据用户组的个数然后创建相应的DefaultMutableTreeNode节点用于添加好友,获取好友列表,根据用户组把当前用户添加的所属的用户组,这里要注意的是一个好友可以存在不同的用户组里面,所以获取的好友所在的组也是一个集合,最后在添加一个根的DefaultMutableTreeNode把之前用户组都添加到根组里面,最后把根组添加到JTree里面最后再把JTree添加到jTabbedPane里面.主要代码如下:
效果图如下:
源码项目:https://github.com/jwzhangjie/IChat_PC.git
/** * 获取用户好友 */ public void getRoster() { if (conn != null) { roster = conn.getRoster(); getRosterPresenceChange(); Collection<RosterGroup> groups = roster.getGroups(); int size = groups.size(); treeNode = new DefaultMutableTreeNode[size]; int i = 0; for (RosterGroup group : groups) { groupsList.add(group.getName()); treeNode[i] = new DefaultMutableTreeNode(group.getName()); i++; } Collection<RosterEntry> entries = roster.getEntries(); for (RosterEntry entry : entries) { Collection<RosterGroup> group = entry.getGroups(); for (RosterGroup g : group) { if (groupsList != null) { int size_1 = groupsList.size(); for (i = 0; i < size_1; i++) { if (g.getName().equals(groupsList.get(i))) { treeNode[i].add(new DefaultMutableTreeNode(entry.getName())); } } } } } for (i = 0; i < size; i++) { top.add(treeNode[i]); } JTree tree = new JTree(top); JScrollPane scrollPane = new JScrollPane(); scrollPane.setViewportView(tree); jTabbedPane.addTab("好 友", scrollPane); } }
效果图如下:
源码项目:https://github.com/jwzhangjie/IChat_PC.git
相关文章推荐
- XMPP通讯开发-仿QQ显示好友列表和用户组
- iOS开发中QQ好友列表下拉显示全部好友实现思路
- XMPP通讯开发-好友获取界面设计
- Android基于XMPP Smack Openfire开发IM(4)获取好友列表
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- Android之仿QQ好友列表显示效果源码
- XMPP通讯开发-服务器好友获取以及监听状态变化
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- Android基于XMPP Smack Openfire开发IM(3)建立好友列表
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- iOS开发UI— QQ好友列表(处理头部控件的点击)viewForHeaderInSection:
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
- 仿微信/QQ 开发基于XMPP的iPhone/iOS聊天客户端(一)好友资料
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- Android基于XMPP Smack Openfire开发IM 【二】获取好友列表
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- XMPP通讯开发-好友通信实现
- iOS开发UI篇章使用UItableview完成一个简单的QQ好友列表(一)