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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? friendpanel.java

?? 該系統是一個基于p2p的即時聊天系統
?? JAVA
字號:
/* * @(#) FriendPanel.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.panel.function.admin;//導入核心Java類庫import java.awt.Insets;import java.awt.Component;import java.awt.FlowLayout;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.util.List;import javax.swing.JTree;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JButton;import javax.swing.JSplitPane;import javax.swing.JScrollPane;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;//導入自定義Java類庫import hws.item.smart.misc.ImageShop;import hws.item.smart.misc.SBChanger;import hws.item.smart.panel.function.admin.misc.UserInfoPanel;import hws.item.smart.action.admin.friend.StopFriendAction;import hws.item.smart.action.admin.friend.StartFriendAction;import hws.item.smart.action.admin.friend.RestartFriendAction;import hws.item.smart.utility.chat.UserInfo;import hws.item.smart.utility.admin.XMLAccessor;import hws.item.smart.utility.admin.FriendService;/** * 好友服務面板 * * @version 0.1 2005-08-22 * @author Hwerz */public class FriendPanel extends JPanel {    /*------------------------------------------------------------------------*     *                                屬性定義                                *     *------------------------------------------------------------------------*/    /**     * 好友樹根節點     */    private static final DefaultMutableTreeNode FRIEND_ROOT =        new DefaultMutableTreeNode("用戶好友");    /**     * 該類自身的一個靜態引用     */    private static FriendPanel panel;    /**     * 好友視圖面板     */    private FriendViewPanel friendViewPanel;    /**     * 用戶信息面板     */    private UserInfoPanel userInfoPanel;    /*------------------------------------------------------------------------*     *                                構造函數                                *     *------------------------------------------------------------------------*/    /**     * 構造函數為私有,這樣在整個運行過程中該類就只能有一個實例     */    private FriendPanel() {        super(new GridBagLayout());        //啟動好友服務        FriendService.getInstance().start();        //工具欄面板        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);        //分割條面板        userInfoPanel = new UserInfoPanel();        friendViewPanel = new FriendViewPanel();        JSplitPane spliter = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false,            friendViewPanel, userInfoPanel);        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);    }    /*------------------------------------------------------------------------*     *                                公共方法                                *     *------------------------------------------------------------------------*/    /**     * 對該類提供的一個全局訪問點,用來實例化該對象     *     * @return 該類唯一的一個實例     */    public static FriendPanel getInstance() {        if (panel == null) {            panel = new FriendPanel();        }        return panel;    }    /**     * 刷新     */    public void refresh() {        friendViewPanel.reloadFriends();    }    /*------------------------------------------------------------------------*     *                                 內部類                                 *     *------------------------------------------------------------------------*/    /**     * 工具欄面板     */    class Toolbar extends JPanel {        /**         * Create a new instance of this class         */        public Toolbar() {            super(new FlowLayout(FlowLayout.CENTER, 5, 0));            //啟動服務            JButton button = new JButton(StartFriendAction.getInstance());            button.setIcon(ImageShop.START_IMAGEICON);            button.addMouseListener(new SBChanger(                StartFriendAction.getInstance().getHintInfo(), false));            add(button);            //停止服務            button = new JButton(StopFriendAction.getInstance());            button.setIcon(ImageShop.STOP_IMAGEICON);            button.addMouseListener(new SBChanger(                StopFriendAction.getInstance().getHintInfo(), false));            add(button);            //重啟服務            button = new JButton(RestartFriendAction.getInstance());            button.setIcon(ImageShop.RESTART_IMAGEICON);            button.addMouseListener(new SBChanger(                RestartFriendAction.getInstance().getHintInfo(), false));            add(button);        }    }    /**     * 好友視圖面板     */    class FriendViewPanel extends JPanel implements TreeSelectionListener {        /**         * 好友樹的視圖         */        private JTree friendTree;        /**         * 好友樹的模型         */        private DefaultTreeModel friendModel;        /**         * Create a new instance of this class         */        public FriendViewPanel() {            super(new GridBagLayout());            //好友視圖標簽            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(new JLabel("好友視圖"), constraints);            //樹型組件            friendModel = new DefaultTreeModel(FRIEND_ROOT);            friendTree = new JTree(friendModel);            friendTree.addTreeSelectionListener(this);            loadFriends();            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);        }        /**         * 重載好友         */        public void reloadFriends() {            unloadFriends();            loadFriends();        }        /**         * 裝載好友         */        private void loadFriends() {            List users = XMLAccessor.getAllUsers();            for (int i = 0; i < users.size(); i++) {                UserInfo info = (UserInfo) users.get(i);                DefaultMutableTreeNode child = new DefaultMutableTreeNode(info);                List friends = info.getFriendsInfo().getAllFriends();                for (int j = 0; j < friends.size(); j++) {                    String id = String.valueOf(friends.get(j));                    DefaultMutableTreeNode child2 =                        new DefaultMutableTreeNode(XMLAccessor.getUser(id));                    child.add(child2);                }                friendModel.insertNodeInto(child, FRIEND_ROOT, i);            }            friendTree.expandRow(0);            friendTree.setSelectionRow(0);        }        /**         * 卸載好友         */        private void unloadFriends() {            int count = FRIEND_ROOT.getChildCount();            for (int i = 0; i < count; i++) {                friendModel.removeNodeFromParent(                    (DefaultMutableTreeNode) FRIEND_ROOT.getChildAt(0));            }        }        /**         * 設置樹型組件的附加選項         */        private void setTree() {            DefaultTreeSelectionModel model = new DefaultTreeSelectionModel();            model.setSelectionMode(model.SINGLE_TREE_SELECTION);            friendTree.setSelectionModel(model);            friendTree.setSelectionRow(0);            friendTree.expandRow(0);        }        /**         * 設置樹型組件的單元格渲染器         */        private void setTreeCellRenderer() {            final DefaultTreeCellRenderer renderer1 =                (DefaultTreeCellRenderer) friendTree.getCellRenderer();            DefaultTreeCellRenderer renderer2 = new DefaultTreeCellRenderer() {                public Component getTreeCellRendererComponent(JTree tree,                    Object value, boolean selected, boolean expanded,                    boolean leaf, int row, boolean hasFocus) {                    Component c = renderer1.getTreeCellRendererComponent(tree,                        value, selected, expanded, leaf, row, hasFocus);                    JLabel label = (JLabel) c;                    if (value == FRIEND_ROOT) {                        label.setIcon(ImageShop.USER_ROOT_IMAGEICON);                    } else {                        label.setIcon(ImageShop.USER_IMAGEICON);                    }                    return c;                }            };            friendTree.setCellRenderer(renderer2);        }        /**         * 實現TreeSelectionListener接口的方法         *         * @param event TreeSelectionEvent對象         */        public void valueChanged(TreeSelectionEvent event) {            DefaultMutableTreeNode node = (DefaultMutableTreeNode) event                .getPath().getLastPathComponent();            if (node == FRIEND_ROOT) {                userInfoPanel.setValue(null);            } else {                UserInfo info = (UserInfo) node.getUserObject();                userInfoPanel.setValue(info);            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男人操女人的视频在线观看欧美| 成人理论电影网| 国产亚洲一本大道中文在线| 欧美日韩精品一区二区在线播放| 99久久99久久精品免费观看| 大白屁股一区二区视频| 欧美日韩亚州综合| 欧美丰满一区二区免费视频| 欧美日韩精品欧美日韩精品| 中文字幕不卡三区| 亚洲视频1区2区| 国产精品久久久久久久午夜片| 久久久久国产精品麻豆ai换脸| 久久亚洲综合色| 国产精品日产欧美久久久久| 日韩av一二三| 蜜臀av一区二区| 国产很黄免费观看久久| 不卡欧美aaaaa| 欧美日韩一区二区欧美激情| 亚洲品质自拍视频| 亚洲自拍偷拍综合| 美女www一区二区| 欧美另类videos死尸| 亚洲欧美激情视频在线观看一区二区三区| 国产尤物一区二区| 波多野结衣一区二区三区| 欧美体内she精高潮| 91精品国产欧美日韩| 久久天天做天天爱综合色| 乱一区二区av| 91免费小视频| 欧美精品一区二区三区久久久| 中文字幕色av一区二区三区| 日韩在线卡一卡二| thepron国产精品| 自拍偷拍国产精品| 91丨九色丨国产丨porny| 综合久久久久综合| 97久久精品人人做人人爽50路| 国产精品乱码妇女bbbb| 成人手机电影网| 亚洲人成7777| 亚洲国产高清不卡| 成人综合激情网| 日韩美女久久久| 欧美影院精品一区| 男男成人高潮片免费网站| 欧美一区二区精品久久911| 精品一区二区三区在线观看国产| www.色精品| 亚洲欧洲综合另类| 欧美精品色综合| 国产一区二区剧情av在线| 国产精品天天摸av网| 日本道精品一区二区三区| 久久久精品国产免费观看同学| 丰满亚洲少妇av| 久久精子c满五个校花| aaa欧美色吧激情视频| 亚洲在线视频网站| 久久影视一区二区| 91一区二区在线| 免费精品99久久国产综合精品| 久久久精品国产免大香伊| 欧美在线视频你懂得| 亚洲免费av在线| 日韩女同互慰一区二区| 三级一区在线视频先锋| 久久久蜜桃精品| 欧美伊人精品成人久久综合97| 久久精品999| 一区二区三区四区不卡视频| 色呦呦国产精品| 综合电影一区二区三区| 欧美一区二区三区性视频| 国产91精品免费| 日韩中文欧美在线| 亚洲免费视频中文字幕| 日韩免费成人网| 欧洲中文字幕精品| 国产福利精品一区二区| 亚洲成人一区二区在线观看| 欧美日韩dvd在线观看| 国产福利精品导航| 美国毛片一区二区| 一卡二卡三卡日韩欧美| 久久久精品天堂| 日韩小视频在线观看专区| 国模冰冰炮一区二区| 日本一区二区视频在线观看| av亚洲精华国产精华| 日本va欧美va欧美va精品| 一区二区三区欧美视频| 欧美国产日韩a欧美在线观看| 91精品国产综合久久国产大片| 99久久亚洲一区二区三区青草| 精品一区二区三区蜜桃| 五月天激情综合| 久久综合国产精品| 91精品国产品国语在线不卡| 欧美日韩一区二区电影| 99国产一区二区三精品乱码| 极品瑜伽女神91| 精品午夜久久福利影院 | 国内精品免费在线观看| 首页国产欧美日韩丝袜| 亚洲午夜电影在线| 国产喂奶挤奶一区二区三区| 精品少妇一区二区三区视频免付费| 国产成人在线网站| 国产乱码字幕精品高清av| 亚洲欧洲日产国码二区| 国产女主播在线一区二区| 久久久亚洲午夜电影| 国产三级欧美三级日产三级99| 精品国一区二区三区| 精品久久久久久综合日本欧美| 精品国产一区二区三区久久久蜜月| 91麻豆精品国产无毒不卡在线观看| 高清国产午夜精品久久久久久| 激情综合一区二区三区| 国产伦精品一区二区三区在线观看| 久久精品国产一区二区| 国产在线播放一区二区三区| 国产suv一区二区三区88区| 成人中文字幕电影| 91麻豆精品一区二区三区| 91福利在线导航| 欧美日韩视频在线一区二区 | 欧美mv日韩mv国产网站app| 欧美成人猛片aaaaaaa| 精品成人一区二区三区四区| 久久免费看少妇高潮| 国产精品久久久久久户外露出 | 成人动漫视频在线| 99久久久久久| 欧美日韩在线电影| 日韩欧美综合在线| 国产人伦精品一区二区| 亚洲欧美成aⅴ人在线观看| 亚洲va韩国va欧美va精品| 久久精品噜噜噜成人88aⅴ| 懂色av一区二区三区免费看| 色综合久久久久久久久久久| 欧美日韩一区二区欧美激情| www国产成人| 一区二区三区丝袜| 久久精品国产成人一区二区三区| 激情成人综合网| 91丨porny丨首页| 欧美一级欧美一级在线播放| 国产日韩欧美高清| 亚洲一区二区欧美日韩| 国产麻豆精品久久一二三| 欧美综合天天夜夜久久| 精品1区2区在线观看| 亚洲裸体xxx| 久久九九久精品国产免费直播| 亚洲精品成人a在线观看| 精品一区中文字幕| 91九色02白丝porn| 久久精品一区四区| 日韩国产高清影视| 91啪亚洲精品| 久久影院视频免费| 秋霞午夜av一区二区三区| av资源网一区| 久久久久久久久久久久久女国产乱| 依依成人综合视频| 国产精品一区不卡| 欧美一区二区三区四区高清 | 99精品国产热久久91蜜凸| 日韩精品自拍偷拍| 亚洲国产精品影院| 一本一道久久a久久精品综合蜜臀| 亚洲精品一线二线三线| 天堂在线亚洲视频| 欧洲色大大久久| 亚洲欧洲精品一区二区精品久久久| 精品一区二区影视| 欧美一区二区三区四区高清| 亚洲电影一区二区| 一本一道综合狠狠老| 国产精品久久久久三级| 国产精品亚洲视频| xf在线a精品一区二区视频网站| 香蕉加勒比综合久久| 在线这里只有精品| 亚洲蜜臀av乱码久久精品| 不卡的电影网站| 国产精品卡一卡二卡三| 成人免费福利片| 国产精品美日韩| bt7086福利一区国产| 日韩码欧中文字| 在线亚洲高清视频| 亚洲成年人网站在线观看| 国产三级欧美三级日产三级99| 精品亚洲免费视频|