亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? friendpanel.java

?? 該系統(tǒng)是一個(gè)基于p2p的即時(shí)聊天系統(tǒng)
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* * @(#) FriendPanel.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.panel.function.chat;//導(dǎo)入核心Java類庫(kù)import java.awt.Insets;import java.awt.Component;import java.awt.FlowLayout;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.awt.event.MouseEvent;import java.awt.event.MouseAdapter;import java.util.List;import java.util.ArrayList;import javax.swing.JTree;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JButton;import javax.swing.JSplitPane;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.tree.TreePath;import javax.swing.tree.DefaultTreeModel;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeCellRenderer;import javax.swing.tree.DefaultTreeSelectionModel;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;//導(dǎo)入自定義Java類庫(kù)import hws.item.smart.Smart;import hws.item.smart.misc.ImageShop;import hws.item.smart.misc.SBChanger;import hws.item.smart.misc.StringShop;import hws.item.smart.misc.ActionCenter;import hws.item.smart.panel.function.chat.misc.ChatViewPanel;import hws.item.smart.panel.function.share.DownloadPanel;import hws.item.smart.action.chat.friend.ChattingAction;import hws.item.smart.action.chat.friend.AddFriendAction;import hws.item.smart.action.chat.friend.DeleteFriendAction;import hws.item.smart.dialog.SelectFriendDialog;import hws.item.smart.utility.chat.UserInfo;import hws.item.smart.utility.chat.ChatAgent;//導(dǎo)入第三方Java類庫(kù)import net.infonode.util.Direction;import net.infonode.docking.View;import net.infonode.docking.RootWindow;import net.infonode.docking.DockingWindow;import net.infonode.docking.DockingWindowAdapter;import net.infonode.docking.util.ViewMap;import net.infonode.docking.util.DockingUtil;import net.infonode.docking.theme.DockingWindowsTheme;import net.infonode.docking.theme.SoftBlueIceDockingTheme;import net.infonode.docking.properties.TabWindowProperties;import net.infonode.docking.properties.RootWindowProperties;import net.infonode.docking.properties.WindowTabStateProperties;/** * 我的好友面板 * * @version 0.1 2005-08-26 * @author Hwerz */public class FriendPanel extends JPanel {    /*------------------------------------------------------------------------*     *                                屬性定義                                *     *------------------------------------------------------------------------*/    /**     * 好友樹根節(jié)點(diǎn)     */    private static final DefaultMutableTreeNode FRIEND_ROOT =        new DefaultMutableTreeNode("我的好友(未登錄)");    /**     * 該類自身的一個(gè)靜態(tài)引用     */    private static FriendPanel panel;    /**     * 好友視圖面板     */    private FriendViewPanel friendViewPanel;    /**     * 在線聊天面板     */    private OnlineChatPanel onlineChatPanel;    /*------------------------------------------------------------------------*     *                                構(gòu)造函數(shù)                                *     *------------------------------------------------------------------------*/    /**     * 構(gòu)造函數(shù)為私有,這樣在整個(gè)運(yùn)行過(guò)程中該類就只能有一個(gè)實(shí)例     */    private FriendPanel() {        super(new GridBagLayout());        //工具欄面板        GridBagConstraints constraints = new GridBagConstraints(            //gridx, gridy            0, 0,            //gridwidth, gridheight            1, 1,            //weightx, weighty            1.0, 0.0,            //anchor            GridBagConstraints.NORTH,            //fill            GridBagConstraints.HORIZONTAL,            //insets            new Insets(5, 0, 0, 0),            //ipadx, ipady            0, 0);        add(new Toolbar(), constraints);        //分割條面板        friendViewPanel = new FriendViewPanel();        onlineChatPanel = new OnlineChatPanel();        JSplitPane spliter = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false,            friendViewPanel, onlineChatPanel);        spliter.setOneTouchExpandable(true);        spliter.setDividerLocation(200);        constraints.gridy = 1;        constraints.weighty = 1.0;        constraints.fill = GridBagConstraints.BOTH;        constraints.insets = new Insets(5, 5, 5, 5);        add(spliter, constraints);    }    /*------------------------------------------------------------------------*     *                                公共方法                                *     *------------------------------------------------------------------------*/    /**     * 對(duì)該類提供的一個(gè)全局訪問(wèn)點(diǎn),用來(lái)實(shí)例化該對(duì)象     *     * @return 該類唯一的一個(gè)實(shí)例     */    public static FriendPanel getInstance() {        if (panel == null) {            panel = new FriendPanel();        }        return panel;    }    /**     * 設(shè)置好友信息     *     * @param info 待設(shè)置的好友信息     */    public void setValue(UserInfo info) {        friendViewPanel.setValue(info);        onlineChatPanel.setValue(info);        ChatAgent.getInstance(info.getBasicInfo().getID()).start();    }    /**     * 返回用戶的所有好友     *     * @return 用戶的所有好友     */    public List getAllFriends() {        return friendViewPanel.getAllFriends();    }    /**     * 添加好友     */    public void addFriend() {        new SelectFriendDialog();        String id = SelectFriendDialog.getSelectedUserID();        if (id != null) {            friendViewPanel.addFriend(id);            ViewPanel.getInstance().update();            DownloadPanel.getInstance().addFriend(id);        }    }    /**     * 刪除好友     */    public void deleteFriend() {        String id = friendViewPanel.getSelectedFriendID();        onlineChatPanel.deleteView(id);        friendViewPanel.deleteFriend();        ViewPanel.getInstance().update();        DownloadPanel.getInstance().deleteFriend(id);    }    /**     * 開始聊天     */    public void chatting() {        onlineChatPanel.chatWith(friendViewPanel.getSelectedFriendID());    }    /**     * 接收信息     *     * @param sid 消息發(fā)送者ID     * @param msg 待接收的消息     */    public void receive(String sid, String msg) {        ChatViewPanel panel = onlineChatPanel.getChatViewPanel(sid);        if (panel != null) {            panel.receive(msg);        } else {            StringBuffer content = new StringBuffer();            content.append("ID為");            content.append(sid);            content.append("的用戶已將您加為好友,并發(fā)來(lái)如下消息:\n");            content.append(msg);            content.append("\n您必須也將其加為好友才能相互聊天。");            JOptionPane.showMessageDialog(Smart.getInstance(),                content.toString(), StringShop.HINT_TITLE,                JOptionPane.INFORMATION_MESSAGE);        }    }    /*------------------------------------------------------------------------*     *                                 內(nèi)部類                                 *     *------------------------------------------------------------------------*/    /**     * 工具欄面板     */    class Toolbar extends JPanel {        /**         * Create a new instance of this class         */        public Toolbar() {            super(new FlowLayout(FlowLayout.CENTER, 5, 0));            //聊天            JButton button = new JButton(ChattingAction.getInstance());            button.setIcon(ImageShop.CHAT_IMAGEICON);            button.addMouseListener(new SBChanger(                ChattingAction.getInstance().getHintInfo(), false));            add(button);            //添加            button = new JButton(AddFriendAction.getInstance());            button.setIcon(ImageShop.ADD_IMAGEICON);            button.addMouseListener(new SBChanger(                AddFriendAction.getInstance().getHintInfo(), false));            add(button);            //刪除            button = new JButton(DeleteFriendAction.getInstance());            button.setIcon(ImageShop.DELETE_IMAGEICON);            button.addMouseListener(new SBChanger(                DeleteFriendAction.getInstance().getHintInfo(), false));            add(button);        }    }    /**     * 好友視圖面板     */    class FriendViewPanel extends JPanel implements TreeSelectionListener {        /**         * 好友視圖標(biāo)簽         */        private JLabel label;        /**         * 我的好友樹的視圖         */        private JTree friendTree;        /**         * 我的好友樹的模型         */        private DefaultTreeModel friendModel;        /**         * Create a new instance of this class         */        public FriendViewPanel() {            super(new GridBagLayout());            //好友視圖標(biāo)簽            label = new JLabel("好友視圖");            GridBagConstraints constraints = new GridBagConstraints(                //gridx, gridy                0, 0,                //gridwidth, gridheight                1, 1,                //weightx, weighty                0.0, 0.0,                //anchor                GridBagConstraints.NORTHWEST,                //fill                GridBagConstraints.NONE,                //insets                new Insets(0, 5, 0, 0),                //ipadx, ipady                0, 0);            add(label, constraints);            //樹型組件            friendModel = new DefaultTreeModel(FRIEND_ROOT);            friendTree = new JTree(friendModel);            friendTree.addTreeSelectionListener(this);            friendTree.addMouseListener(new MouseAdapter() {                public void mouseClicked(MouseEvent event) {                    int x = event.getX();                    int y = event.getY();                    TreePath path = friendTree.getPathForLocation(x, y);                    if (path != null && event.getClickCount() == 2) {                        if (path.getLastPathComponent() != FRIEND_ROOT) {                            ChattingAction.getInstance().actionPerformed(null);                        }                    }                }            });            setTree();            setTreeCellRenderer();            JScrollPane scroller = new JScrollPane(friendTree,                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);            constraints.gridy = 1;            constraints.weightx = 1.0;            constraints.weighty = 1.0;            constraints.fill = GridBagConstraints.BOTH;            constraints.insets = new Insets(0, 0, 0, 0);            add(scroller, constraints);        }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女同ⅹxx女同tv| 中文字幕在线一区| 成人精品免费视频| 无码av中文一区二区三区桃花岛| 久久久久久久久岛国免费| 在线观看亚洲一区| 国产精品888| 男女男精品网站| 亚洲伦理在线精品| 精品国产91洋老外米糕| 色欧美乱欧美15图片| 国产一区二区三区久久悠悠色av| 亚洲第四色夜色| 亚洲天堂久久久久久久| 久久免费美女视频| 91精品国产色综合久久ai换脸| 99re热这里只有精品视频| 极品少妇xxxx精品少妇| 舔着乳尖日韩一区| 一区二区三区中文字幕在线观看| 国产精品网站一区| 亚洲精品一区二区在线观看| 538prom精品视频线放| 91麻豆高清视频| 国产成人免费视频精品含羞草妖精| 人人爽香蕉精品| 香蕉成人伊视频在线观看| 亚洲免费资源在线播放| 国产精品色哟哟| 久久九九久精品国产免费直播| 欧美一级艳片视频免费观看| 欧美日本一区二区在线观看| 欧美丝袜第三区| 在线观看成人免费视频| 日本韩国一区二区三区视频| 91丨九色丨黑人外教| 成人黄色片在线观看| 国产91丝袜在线播放0| 国产一区视频网站| 精品一区二区三区久久久| 奇米一区二区三区av| 五月婷婷综合网| 视频一区欧美日韩| 奇米影视一区二区三区小说| 美腿丝袜在线亚洲一区| 美日韩一区二区| 久久国产夜色精品鲁鲁99| 精品一区二区日韩| 国产乱人伦偷精品视频免下载| 韩国v欧美v日本v亚洲v| 国产精品99精品久久免费| 国产高清不卡二三区| 成人sese在线| 日本精品一区二区三区高清| 欧美日韩一区成人| 91精品国产色综合久久ai换脸| 精品国产一区二区三区久久影院| 久久老女人爱爱| 国产精品国产三级国产普通话三级 | 激情丁香综合五月| 国内精品伊人久久久久av一坑| 国产精品亚洲一区二区三区妖精 | 99热在这里有精品免费| www.欧美色图| 欧美性猛片xxxx免费看久爱| 欧美人狂配大交3d怪物一区| 欧美一级夜夜爽| 久久夜色精品国产噜噜av | 同产精品九九九| 韩国毛片一区二区三区| 成人福利视频在线| 色综合久久综合网欧美综合网| 欧美午夜寂寞影院| 日韩欧美一级二级| 国产欧美精品一区二区色综合朱莉| 日韩一区有码在线| 久久成人18免费观看| 成熟亚洲日本毛茸茸凸凹| 色哟哟亚洲精品| 日韩一二三区视频| 中文字幕欧美区| 亚洲第一福利视频在线| 久久99精品视频| 99国产精品国产精品久久| 欧美美女视频在线观看| 久久久五月婷婷| 亚洲激情网站免费观看| 强制捆绑调教一区二区| 懂色一区二区三区免费观看| 欧美日韩日日骚| 欧美国产激情一区二区三区蜜月| 亚洲一区在线视频观看| 国内成人精品2018免费看| 91丝袜美女网| 久久蜜桃一区二区| 亚洲成人免费视| 成人在线综合网| 在线成人av网站| 中文字幕亚洲成人| 奇米综合一区二区三区精品视频| jlzzjlzz国产精品久久| 精品免费日韩av| 亚洲国产视频一区二区| 成人深夜视频在线观看| 日韩欧美亚洲另类制服综合在线| 亚洲视频图片小说| 国产在线视视频有精品| 欧美日韩国产精品自在自线| 国产精品久久久久久福利一牛影视| 秋霞影院一区二区| 色婷婷亚洲综合| 国产精品你懂的在线| 久久电影网站中文字幕| 精品1区2区3区| 亚洲三级电影全部在线观看高清| 国产原创一区二区三区| 88在线观看91蜜桃国自产| 亚洲精品国产a| 成人免费观看av| 国产午夜精品理论片a级大结局 | 99久久久久久| 久久久天堂av| 国产综合一区二区| 五月综合激情网| 91国产免费观看| 中文字幕一区二区不卡| 国产成人精品一区二| www亚洲一区| 九九热在线视频观看这里只有精品| 欧美日韩精品一区二区三区蜜桃| 亚洲免费观看高清完整版在线| 成人三级伦理片| 国产精品九色蝌蚪自拍| 国产成人无遮挡在线视频| 精品国产91久久久久久久妲己 | 欧美大尺度电影在线| 天涯成人国产亚洲精品一区av| 在线观看av不卡| 亚洲国产欧美在线人成| 欧美在线观看视频一区二区| 亚洲一区二区三区四区在线 | 国产美女一区二区三区| 欧美成人三级电影在线| 麻豆成人久久精品二区三区小说| 欧美一区二区三区四区五区 | 日韩和欧美一区二区| 4hu四虎永久在线影院成人| 午夜精品123| 91精品国产美女浴室洗澡无遮挡| 视频精品一区二区| 欧美一级高清片| 国产一区二区视频在线播放| 精品久久久久久久人人人人传媒| 久久99精品视频| 欧美国产亚洲另类动漫| 国产91精品在线观看| 国产精品久久久久一区| 色综合色狠狠综合色| 亚洲午夜电影在线| 制服丝袜亚洲色图| 精品一区免费av| 国产日韩欧美亚洲| 波多野结衣欧美| 亚洲图片有声小说| 欧美成人一级视频| 粉嫩一区二区三区性色av| 亚洲区小说区图片区qvod| 欧美日韩精品高清| 韩国中文字幕2020精品| 国产精品免费久久| 欧美视频一区二区在线观看| 久久国产精品区| 国产精品乱人伦一区二区| 在线视频观看一区| 久久成人av少妇免费| 国产精品免费视频观看| 欧美日韩在线观看一区二区| 久久精品久久精品| 1区2区3区精品视频| 欧美精品免费视频| 丰满少妇久久久久久久| 亚洲宅男天堂在线观看无病毒| 精品国产自在久精品国产| av激情成人网| 麻豆精品久久精品色综合| 椎名由奈av一区二区三区| 欧美一级黄色大片| 93久久精品日日躁夜夜躁欧美| 五月天一区二区三区| 欧美国产乱子伦| 8v天堂国产在线一区二区| www.亚洲色图.com| 免费人成在线不卡| 亚洲色图制服丝袜| 欧美va亚洲va在线观看蝴蝶网| 91麻豆免费视频| 国产乱一区二区| 青草av.久久免费一区| 亚洲欧美国产77777| 久久久久久亚洲综合|