XMPP通訊開發-仿QQ顯示好友名單和使用者組

來源:互聯網
上載者:User

  中我們擷取伺服器上的使用者好友資訊,然後結合   我們將兩個合并起來,首先擷取使用者組,然後把使用者組用List儲存起來用作對比好友的使用者組,根據使用者組的個數然後建立相應的DefaultMutableTreeNode節點用於添加好友,擷取好友名單,根據使用者組把目前使用者添加的所屬的使用者組,這裡要注意的是一個好友可以存在不同的使用者組裡面,所以擷取的好友所在的組也是一個集合,最後在添加一個根的DefaultMutableTreeNode把之前使用者組都添加到根組裡面,最後把根組添加到JTree裡面最後再把JTree添加到jTabbedPane裡面.主要代碼如下:

  /**     * 擷取使用者好友     */    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);        }    }






相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.