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

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

?? addresspanel.java

?? 該系統(tǒng)是一個(gè)基于p2p的即時(shí)聊天系統(tǒng)
?? JAVA
字號:
/* * @(#) AddressPanel.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.panel.function.admin;//導(dǎo)入核心Java類庫import java.awt.Insets;import java.awt.FlowLayout;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;import java.util.List;import java.util.ArrayList;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTable;import javax.swing.JButton;import javax.swing.JSplitPane;import javax.swing.JScrollPane;import javax.swing.ListSelectionModel;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;import javax.swing.table.DefaultTableModel;//導(dǎo)入自定義Java類庫import hws.item.smart.misc.ImageShop;import hws.item.smart.misc.SBChanger;import hws.item.smart.panel.function.admin.misc.OptionalInfoPanel;import hws.item.smart.action.admin.address.StopAddressAction;import hws.item.smart.action.admin.address.StartAddressAction;import hws.item.smart.action.admin.address.RestartAddressAction;import hws.item.smart.utility.chat.OptionalInfo;import hws.item.smart.utility.admin.XMLAccessor;import hws.item.smart.utility.admin.AddressService;/** * 地址服務(wù)面板 * * @version 0.1 2005-08-30 * @author Hwerz */public class AddressPanel extends JPanel {    /*------------------------------------------------------------------------*     *                                屬性定義                                *     *------------------------------------------------------------------------*/    /**     * 該類自身的一個(gè)靜態(tài)引用     */    private static AddressPanel panel;    /**     * 地址信息面板     */    private AddressInfoPanel addressInfoPanel;    /**     * 可選信息面板     */    private OptionalInfoPanel optionalInfoPanel;    /*------------------------------------------------------------------------*     *                                構(gòu)造函數(shù)                                *     *------------------------------------------------------------------------*/    /**     * 構(gòu)造函數(shù)為私有,這樣在整個(gè)運(yùn)行過程中該類就只能有一個(gè)實(shí)例     */    private AddressPanel() {        super(new GridBagLayout());        //啟動(dòng)地址服務(wù)        AddressService.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);        //分割條面板        optionalInfoPanel = new OptionalInfoPanel();        addressInfoPanel = new AddressInfoPanel();        JSplitPane spliter = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false,            addressInfoPanel, optionalInfoPanel);        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);    }    /*------------------------------------------------------------------------*     *                                公共方法                                *     *------------------------------------------------------------------------*/    /**     * 對該類提供的一個(gè)全局訪問點(diǎn),用來實(shí)例化該對象     *     * @return 該類唯一的一個(gè)實(shí)例     */    public static AddressPanel getInstance() {        if (panel == null) {            panel = new AddressPanel();        }        return panel;    }    /**     * 上線     *     * @param id ID     * @param nickname 昵稱     * @param ip IP地址     */    public void online(String id, String nickname, String ip) {        addressInfoPanel.addRow(id, nickname, ip);    }    /**     * 下線     *     * @param id ID     */    public void offline(String id) {        addressInfoPanel.deleteRow(id);    }    /**     * 返回指定用戶的IP     *     * @param id ID     * @return 指定用戶的IP     */    public String getIP(String id) {        return addressInfoPanel.getIP(id);    }    /**     * 判斷指定的用戶是否在線     *     * @param id ID     * @return 如果指定的用戶在線則返回true,否則返回false     */    public boolean isOnline(String id) {        return addressInfoPanel.isRowExist(id);    }    /**     * 返回所有在線用戶     *     * @return 所有在線用戶     */    public List getAllOnlineUsers() {        return addressInfoPanel.getAllOnlineUsers();    }    /*------------------------------------------------------------------------*     *                                 內(nèi)部類                                 *     *------------------------------------------------------------------------*/    /**     * 工具欄面板     */    class Toolbar extends JPanel {        /**         * Create a new instance of this class         */        public Toolbar() {            super(new FlowLayout(FlowLayout.CENTER, 5, 0));            //啟動(dòng)服務(wù)            JButton button = new JButton(StartAddressAction.getInstance());            button.setIcon(ImageShop.START_IMAGEICON);            button.addMouseListener(new SBChanger(                StartAddressAction.getInstance().getHintInfo(), false));            add(button);            //停止服務(wù)            button = new JButton(StopAddressAction.getInstance());            button.setIcon(ImageShop.STOP_IMAGEICON);            button.addMouseListener(new SBChanger(                StopAddressAction.getInstance().getHintInfo(), false));            add(button);            //重啟服務(wù)            button = new JButton(RestartAddressAction.getInstance());            button.setIcon(ImageShop.RESTART_IMAGEICON);            button.addMouseListener(new SBChanger(                RestartAddressAction.getInstance().getHintInfo(), false));            add(button);        }    }    /**     * 地址信息面板     */    class AddressInfoPanel extends JPanel implements ListSelectionListener {        /**         * 地址信息表格的視圖         */        private JTable addressTable;        /**         * 地址信息表格的模型         */        private DefaultTableModel addressModel;        /**         * Create a new instance of this class         */        public AddressInfoPanel() {            super(new GridBagLayout());            //用戶地址標(biāo)簽            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);            //地址信息表格            Object[] header = {"ID", "昵稱", "IP"};            addressModel = new DefaultTableModel();            addressModel.setColumnIdentifiers(header);            addressTable = new JTable(addressModel) {                public boolean isCellEditable(int row, int column) {                    return false;                }            };            addressTable.getSelectionModel().addListSelectionListener(this);            addressTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);            JScrollPane scroller = new JScrollPane(addressTable,                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);        }        /**         * 添加記錄         *         * @param id ID         * @param nickname 昵稱         * @param ip IP地址         */        public void addRow(String id, String nickname, String ip) {            int count = addressModel.getRowCount();            addressModel.addRow(new Object[] {id, nickname, ip});            addressTable.getSelectionModel().setSelectionInterval(count, count);            OptionalInfo info = XMLAccessor.getUser(id).getOptionalInfo();            optionalInfoPanel.setValue(info);        }        /**         * 刪除記錄         *         * @param id ID         */        public void deleteRow(String id) {            for (int i = 0; i < addressModel.getRowCount(); i++) {                if (addressModel.getValueAt(i, 0).equals(id) == true) {                    addressModel.removeRow(i);                    break;                }            }            if (addressModel.getRowCount() > 0) {                addressTable.getSelectionModel().setSelectionInterval(0, 0);            }        }        /**         * 返回指定用戶的IP         *         * @param id ID         * @return 指定用戶的IP         */        public String getIP(String id) {            String ip = null;            int count = addressModel.getRowCount();            for (int i = 0; i < count; i++) {                if (addressModel.getValueAt(i, 0).equals(id) == true) {                    ip = String.valueOf(addressModel.getValueAt(i, 2));                    break;                }            }            return ip;        }        /**         * 判斷指定的用戶是否已經(jīng)存在         *         * @param id 指定用戶的ID         * @return 如果指定的用戶已經(jīng)存在則返回true,否則返回false         */        public boolean isRowExist(String id) {            boolean exist = false;            for (int i = 0; i < addressModel.getRowCount(); i++) {                if (addressModel.getValueAt(i, 0).equals(id) == true) {                    exist = true;                    break;                }            }            return exist;        }        /**         * 返回所有在線用戶         *         * @return 所有在線用戶         */        public List getAllOnlineUsers() {            List users = new ArrayList();            for (int i = 0; i < addressModel.getRowCount(); i++) {                users.add(addressModel.getValueAt(i, 0));            }            return users;        }        /**         * 實(shí)現(xiàn)接口ListSelectionListener的方法         *         * @param event the event that characterizes the change         */        public void valueChanged(ListSelectionEvent event) {            if (addressModel.getRowCount() > 0) {                int row = addressTable.getSelectedRow();                String id = addressModel.getValueAt(row, 0).toString();                OptionalInfo info = XMLAccessor.getUser(id).getOptionalInfo();                optionalInfoPanel.setValue(info);            }        }    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久伊人网影院| 久久这里只有精品首页| 国产精品初高中害羞小美女文 | 国产精品看片你懂得| 国产成人av电影在线| 国产精品视频观看| 91视频观看视频| 亚洲va国产天堂va久久en| 欧美一区三区四区| 久久精品国产精品亚洲精品| 久久综合久久久久88| 成人短视频下载| 亚洲国产精品天堂| 国产亚洲短视频| 国产精品麻豆久久久| 中文字幕在线不卡视频| 久久久美女毛片| 午夜精品久久久久久久久久久| 91麻豆精品国产综合久久久久久| 蜜桃91丨九色丨蝌蚪91桃色| 国产日韩一级二级三级| 色婷婷av一区| 美国十次综合导航| 中文av一区特黄| 欧美视频一二三区| 国产主播一区二区三区| 国产精品国产三级国产普通话三级| 色哟哟在线观看一区二区三区| 日韩高清不卡一区二区| 国产亚洲精品精华液| 欧美视频在线一区二区三区 | 亚洲成人动漫在线观看| 精品国精品自拍自在线| 色综合天天视频在线观看 | 婷婷国产在线综合| 久久久精品tv| 欧美精品乱码久久久久久| 国产成人亚洲综合a∨婷婷图片| 有坂深雪av一区二区精品| 欧美大黄免费观看| 欧美性猛交一区二区三区精品| 国产在线观看免费一区| 亚洲欧美激情一区二区| 精品第一国产综合精品aⅴ| 欧美写真视频网站| 成人av午夜电影| 美女在线一区二区| 亚洲综合在线免费观看| 久久精品夜色噜噜亚洲aⅴ| 欧美亚洲一区二区在线观看| 粉嫩在线一区二区三区视频| 老司机午夜精品| 一区二区欧美视频| 日本一区二区视频在线| 精品国产成人在线影院| 欧美日本一区二区在线观看| 99久久精品国产毛片| 国产成人啪免费观看软件| 五月天精品一区二区三区| 亚洲人精品一区| 国产欧美日韩综合精品一区二区| 日韩欧美国产精品| 91精品视频网| 欧美人牲a欧美精品| 欧美日韩亚州综合| 色综合久久综合| 97久久精品人人澡人人爽| 成人午夜在线免费| 国产高清在线观看免费不卡| 久久丁香综合五月国产三级网站| 日韩av电影天堂| 日韩三级精品电影久久久| 成人白浆超碰人人人人| 国产福利视频一区二区三区| 精品一区免费av| 男人的天堂亚洲一区| 成人精品视频一区二区三区 | **性色生活片久久毛片| 国产校园另类小说区| 久久精品水蜜桃av综合天堂| 国产日本一区二区| 久久精品欧美一区二区三区麻豆| 欧美精品一区二区三区四区 | 欧美日韩一区二区电影| 欧美中文字幕一二三区视频| 欧美在线观看18| 欧美美女bb生活片| 日韩一区二区三区电影| 久久伊人蜜桃av一区二区| 久久久精品影视| 国产精品国产自产拍高清av| 亚洲色图欧美激情| 亚洲在线免费播放| 婷婷国产在线综合| 精品一区二区成人精品| 国产馆精品极品| 色婷婷综合久久久中文一区二区| 欧美伊人精品成人久久综合97 | 欧美欧美欧美欧美首页| 正在播放一区二区| 久久夜色精品一区| 国产精品动漫网站| 亚洲18色成人| 国产美女娇喘av呻吟久久| 丁香婷婷综合色啪| 欧美调教femdomvk| 欧美mv日韩mv亚洲| 中文字幕一区二区三区视频 | 国产欧美一区二区三区在线老狼| 欧美激情在线一区二区三区| 亚洲精品国产a久久久久久| 日产国产高清一区二区三区 | 中文字幕国产精品一区二区| 国产精品一区二区三区乱码| 91污片在线观看| 51精品久久久久久久蜜臀| 久久亚洲精品国产精品紫薇| 亚洲精品午夜久久久| 精品一区二区三区在线观看| 91麻豆swag| 欧美刺激午夜性久久久久久久| 中文字幕一区二区三区蜜月| 免费观看成人鲁鲁鲁鲁鲁视频| proumb性欧美在线观看| 欧美一级日韩免费不卡| 日韩久久一区二区| 久草这里只有精品视频| 欧美在线看片a免费观看| 久久久午夜电影| 亚洲国产欧美日韩另类综合 | 国产精品视频一二三区| 日韩精品亚洲一区二区三区免费| 成人网页在线观看| 日韩三级在线观看| 亚洲一区二区三区小说| 国产麻豆精品在线观看| 欧美肥大bbwbbw高潮| 亚洲美腿欧美偷拍| 国产激情一区二区三区| 91精品国产色综合久久ai换脸| 日韩美女精品在线| 从欧美一区二区三区| 精品国产乱码久久久久久浪潮| voyeur盗摄精品| 日韩欧美国产不卡| 亚洲成av人片观看| 在线亚洲精品福利网址导航| 欧美国产1区2区| 精品一区二区三区在线视频| 欧美精品久久久久久久多人混战| 亚洲精品免费视频| 成人av在线播放网址| 久久久国产精华| 久久国产生活片100| 欧美一区二区三区婷婷月色 | 日韩不卡手机在线v区| 在线免费视频一区二区| 国产精品久久久一区麻豆最新章节| 国内成人免费视频| 久久这里只有精品视频网| 久久国产精品第一页| 日韩精品一区二区三区swag| 日韩电影一二三区| 51午夜精品国产| 五月天婷婷综合| 欧美精品一卡二卡| 日韩综合小视频| 在线播放亚洲一区| 蜜桃视频在线观看一区| 91精品国产日韩91久久久久久| 图片区小说区国产精品视频| 欧美日韩在线播放三区四区| 亚洲国产aⅴ天堂久久| 欧美精品九九99久久| 日本在线播放一区二区三区| 欧美成人高清电影在线| 激情综合色播激情啊| 国产日韩三级在线| 9i在线看片成人免费| 亚洲人被黑人高潮完整版| 欧美亚洲综合色| 日本怡春院一区二区| 久久久久久久久蜜桃| 国产成人精品在线看| 亚洲少妇30p| 欧美色大人视频| 久久国产婷婷国产香蕉| 国产日韩欧美综合在线| 91免费观看视频在线| 亚洲国产中文字幕在线视频综合| 欧美精品v国产精品v日韩精品| 毛片不卡一区二区| 国产亚洲女人久久久久毛片| 99在线精品视频| 亚洲韩国一区二区三区| 日韩美一区二区三区| 不卡在线视频中文字幕| 一区二区三区成人在线视频| 日韩情涩欧美日韩视频| 成人手机电影网|