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

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

?? downloadpanel.java

?? 該系統是一個基于p2p的即時聊天系統
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
            DefaultMutableTreeNode node = null;            for (int i = 0; i < FRIEND_ROOT.getChildCount(); i++) {                node = (DefaultMutableTreeNode) FRIEND_ROOT.getChildAt(i);                if (node.getUserObject().toString().equals(id)) {                    break;                } else {                    node = null;                }            }            if (node != null) {                int r = friendTree.getRowForPath(new TreePath(node.getPath()));                friendModel.removeNodeFromParent(node);                friendTree.setSelectionRow(r - 1);            }        }        /**         * 返回選中好友的ID         *         * @return 選中好友的ID         */        public String getSelectedFriendID() {            String id = null;            DefaultMutableTreeNode node = (DefaultMutableTreeNode) friendTree                .getSelectionPath().getLastPathComponent();            if (node != FRIEND_ROOT) {                id = node.getUserObject().toString();            }            return id;        }        /**         * 裝載好友         *         * @param info 指定的用戶信息         */        private void loadFriends(UserInfo info) {            List friends = info.getFriendsInfo().getAllFriends();            for (int i = 0; i < friends.size(); i++) {                DefaultMutableTreeNode child =                    new DefaultMutableTreeNode(friends.get(i));                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 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) {                fileViewPanel.reloadFiles(null);            } else {                fileViewPanel.reloadFiles(node.toString());            }        }    }    /**     * 文件視圖面板     */    class FileViewPanel extends JPanel implements TreeSelectionListener {        /**         * 文件樹的視圖         */        private JTree fileTree;        /**         * 文件樹的模型         */        private DefaultTreeModel fileModel;        /**         * Create a new instance of this class         */        public FileViewPanel() {            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);            //樹型組件            fileModel = new DefaultTreeModel(FILE_ROOT);            fileTree = new JTree(fileModel);            fileTree.addTreeSelectionListener(this);            setTree(fileTree);            setTreeCellRenderer();            JScrollPane scroller = new JScrollPane(fileTree,                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);        }        /**         * 返回選中的下載文件         *         * @return 選中的下載文件         */        public String getSelectedFile() {            String file = null;            DefaultMutableTreeNode node = (DefaultMutableTreeNode) fileTree                .getSelectionPath().getLastPathComponent();            if (node != FILE_ROOT) {                file = node.getUserObject().toString();            }            return file;        }        /**         * 重載文件         *         * @param id 指定的用戶         */        public void reloadFiles(String id) {            unloadFiles();            if (id != null) {                loadFiles(id);            }        }        /**         * 裝載文件         *         * @param id 指定的用戶         */        private void loadFiles(String id) {            try {                XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");                XmlRpcClient client = new XmlRpcClient(genURL());                String response = client.execute(genRequest()).toString();                SAXBuilder builder = new SAXBuilder();                StringReader reader = new StringReader(response);                Document document = builder.build(reader);                Element root = document.getRootElement();                List shares = root.getChild("Shares").getChildren();                for (int i = 0; i < shares.size(); i++) {                    Element share = (Element) shares.get(i);                    if (share.getAttributeValue("id").equals(id)) {                        List files = share.getChild("Files").getChildren();                        for (int j = 0; j < files.size(); j++) {                            Element file = (Element) files.get(j);                            DefaultMutableTreeNode node =                                new DefaultMutableTreeNode(                                file.getAttributeValue("file"));                            fileModel.insertNodeInto(node, FILE_ROOT, j);                        }                        break;                    }                }                fileTree.expandRow(0);                fileTree.setSelectionRow(0);            } catch (ClassNotFoundException e) {                JOptionPane.showMessageDialog(Smart.getInstance(),                    "系統找不到類庫“org.apache.xerces.parsers.SAXParser”!",                    StringShop.HINT_TITLE, JOptionPane.INFORMATION_MESSAGE);            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (XmlRpcException e) {                e.printStackTrace();            } catch (IOException e) {                JOptionPane.showMessageDialog(Smart.getInstance(),                    "獲取服務已關閉,請稍候再試!", StringShop.HINT_TITLE,                    JOptionPane.INFORMATION_MESSAGE);            } catch (JDOMException e) {                JOptionPane.showMessageDialog(Smart.getInstance(),                    "操作失敗,請稍候再試!", StringShop.HINT_TITLE,                    JOptionPane.INFORMATION_MESSAGE);            }        }        /**         * 卸載文件         */        private void unloadFiles() {            int count = FILE_ROOT.getChildCount();            for (int i = 0; i < count; i++) {                fileModel.removeNodeFromParent(                    (DefaultMutableTreeNode) FILE_ROOT.getChildAt(0));            }        }        /**         * 設置樹型組件的單元格渲染器         */        private void setTreeCellRenderer() {            final DefaultTreeCellRenderer renderer1 =                (DefaultTreeCellRenderer) fileTree.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 == FILE_ROOT) {                        label.setIcon(ImageShop.SHARE_ROOT_IMAGEICON);                    } else {                        label.setIcon(ImageShop.SHARE_IMAGEICON);                    }                    return c;                }            };            fileTree.setCellRenderer(renderer2);        }        /**         * 實現TreeSelectionListener接口的方法         *         * @param event TreeSelectionEvent對象         */        public void valueChanged(TreeSelectionEvent event) {            DefaultMutableTreeNode node = (DefaultMutableTreeNode) event                .getPath().getLastPathComponent();            List files = taskListPanel.getAllDownloadingFile();            if (node == FILE_ROOT) {                DownloadAction.getInstance().setEnabled(false);            } else {                if (files.contains(getSelectedFile()) == false) {                    DownloadAction.getInstance().setEnabled(true);                } else {                    DownloadAction.getInstance().setEnabled(false);                }            }        }    }    /**     * 任務列表面板     */    class TaskListPanel extends JPanel {        /**         * 下載任務表格的視圖         */        private JTable taskTable;        /**         * 下載任務表格的模型         */        private DefaultTableModel taskModel;        /**         * Create a new instance of this class         */        public TaskListPanel() {            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);            //下載任務表格            Object[] header = {"好友", "共享名", "文件名", "進度"};            taskModel = new DefaultTableModel();            taskModel.setColumnIdentifiers(header);            taskTable = new JTable(taskModel) {                public boolean isCellEditable(int row, int column) {                    return false;                }            };            taskTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);            ProgressRenderer renderer = new ProgressRenderer(0, 100);            taskTable.getColumn("進度").setCellRenderer(renderer);            JScrollPane scroller = new JScrollPane(taskTable,                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 file 文件名         * @param progress 下載進度         */        public void addRow(String file, int progress) {            Object[] row = {friendViewPanel.getSelectedFriendID(),                fileViewPanel.getSelectedFile(), file, new Integer(progress)};            taskModel.addRow(row);            int count = taskModel.getRowCount();            taskTable.getSelectionModel().setSelectionInterval(count, count);        }        /**         * 刪除行         *         * @param file 文件名         */        public void deleteRow(String file) {            int i;            for (i = 0; i < taskModel.getRowCount(); i++) {                if (taskModel.getValueAt(i, 2).equals(file)) {                    taskModel.removeRow(i);                    break;                }            }            if (taskModel.getRowCount() > 0) {                taskTable.getSelectionModel().setSelectionInterval(i, i);            }        }        /**         * 設置進度         *         * @param file 文件名         * @param progress 下載進度         */        public void setProgress(String file, int progress) {            for (int i = 0; i < taskModel.getRowCount(); i++) {                if (taskModel.getValueAt(i, 2).equals(file)) {                    taskModel.setValueAt(new Integer(progress), i, 3);                    break;                }            }        }        /**         * 返回所有正在下載的文件         *         * @return 所有正在下載的文件         */        public List getAllDownloadingFile() {            List files = new ArrayList();            for (int i = 0; i < taskModel.getRowCount(); i++) {                files.add(taskModel.getValueAt(i, 1));            }            return files;        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩国产| 91论坛在线播放| 午夜一区二区三区在线观看| 中文字幕免费一区| 久久久国产综合精品女国产盗摄| 欧美一级艳片视频免费观看| 91精品国产一区二区三区蜜臀| 欧美日韩高清一区二区不卡| 色94色欧美sute亚洲线路二 | 亚洲成人黄色影院| 亚洲黄色性网站| 亚洲免费看黄网站| 亚洲无线码一区二区三区| 亚洲国产成人av好男人在线观看| 亚洲一区二区精品久久av| 亚洲成a人片综合在线| 日韩一区欧美二区| 国产最新精品免费| 丁香婷婷综合网| av亚洲产国偷v产偷v自拍| 色网站国产精品| 在线观看视频一区| 欧美一区二区三区思思人| 日韩一区二区在线播放| 亚洲精品一线二线三线无人区| 久久欧美一区二区| 亚洲精品国产a久久久久久| 亚洲成va人在线观看| 捆绑调教美女网站视频一区| 国产精品一区一区三区| 91美女在线视频| 日韩欧美一二三| 国产日产亚洲精品系列| 久久人人97超碰com| 国产精品三级久久久久三级| 亚洲美女在线国产| 美女免费视频一区二区| 福利一区在线观看| 欧美日韩一区二区三区视频| 精品少妇一区二区三区视频免付费| 国产精品伦一区二区三级视频| 亚洲精品欧美综合四区| 久久精品国产一区二区| 97超碰欧美中文字幕| 日韩欧美一二三四区| 亚洲日本va午夜在线电影| 久久精品国产一区二区三区免费看 | 久久青草国产手机看片福利盒子| 亚洲欧美一区二区视频| 美女视频一区在线观看| 日本韩国一区二区三区视频| 亚洲精品在线三区| 天天综合色天天综合色h| 成人精品视频.| 精品国产人成亚洲区| 亚洲一区在线视频观看| 暴力调教一区二区三区| 欧美大片日本大片免费观看| 午夜av一区二区三区| 一本久道久久综合中文字幕| 久久久久久久久久久久久女国产乱 | 亚洲美女屁股眼交| 国产不卡一区视频| 亚洲精品在线免费观看视频| 日本特黄久久久高潮| 欧美中文字幕一区二区三区亚洲| 国产精品无人区| 国产福利91精品一区二区三区| 日韩一区二区三区电影在线观看 | 日韩一二在线观看| 国产一区二区不卡在线| 欧美日韩国产高清一区二区| 亚洲精品国产高清久久伦理二区| 成人激情视频网站| 国产精品色呦呦| 国产偷国产偷精品高清尤物| 99国产欧美另类久久久精品| 91久久人澡人人添人人爽欧美| 国产女同互慰高潮91漫画| 国产亚洲女人久久久久毛片| 国产日韩欧美精品电影三级在线| 久久99久国产精品黄毛片色诱| 最新不卡av在线| 亚洲精品精品亚洲| 亚洲丰满少妇videoshd| 久久av中文字幕片| 精品播放一区二区| 亚洲精品第一国产综合野| 亚洲卡通欧美制服中文| 在线成人免费观看| 久久福利视频一区二区| 免费久久精品视频| 日本一区二区在线不卡| 国产精品超碰97尤物18| 亚洲特黄一级片| 色欧美片视频在线观看| 亚洲高清视频的网址| 黑人巨大精品欧美黑白配亚洲| 韩国成人福利片在线播放| 成人aa视频在线观看| 成人精品免费看| av中文一区二区三区| ㊣最新国产の精品bt伙计久久| 欧美综合色免费| 亚洲少妇30p| 亚洲一二三四久久| 2022国产精品视频| 91麻豆免费观看| 国产综合色产在线精品| 色综合天天综合网天天看片| 欧美专区在线观看一区| 中文字幕日本不卡| 欧美老肥妇做.爰bbww| 国产欧美日韩精品一区| 久久伊人蜜桃av一区二区| 99riav久久精品riav| 日韩视频在线一区二区| 日韩精品乱码免费| 国产凹凸在线观看一区二区| 日韩国产欧美在线观看| 91丨九色丨国产丨porny| 岛国一区二区三区| 视频在线观看91| 欧美亚洲综合在线| 免费高清在线视频一区·| 91美女片黄在线观看91美女| 国产日韩高清在线| 国产精品国产三级国产三级人妇| 欧美色图第一页| 久久久久久**毛片大全| 久久女同精品一区二区| 日韩在线一区二区| 亚洲视频精选在线| 国产精品福利在线播放| 久久在线观看免费| 91精品欧美福利在线观看| 欧美熟乱第一页| 国产精品不卡在线| 国产欧美日韩精品a在线观看| 国产91在线看| 国产成人午夜电影网| 亚洲成人中文在线| 中文字幕av免费专区久久| 黄一区二区三区| 日本强好片久久久久久aaa| 亚洲色图制服丝袜| 国产精品久久久久毛片软件| 久久伊99综合婷婷久久伊| 日韩欧美一级特黄在线播放| 欧美情侣在线播放| 欧美视频一区二区三区四区| 91精品1区2区| 日本久久电影网| 欧美亚一区二区| 欧美中文字幕一区| 欧美婷婷六月丁香综合色| 91福利社在线观看| 欧美性猛片xxxx免费看久爱| 色婷婷综合久色| 欧美午夜片在线看| 欧美日韩一区二区三区在线看| 欧洲日韩一区二区三区| 欧美性一级生活| 91麻豆精品国产91久久久久久久久| 欧美三级电影网| 欧美精品久久久久久久久老牛影院| 在线观看一区日韩| 欧美日本精品一区二区三区| 91精品中文字幕一区二区三区| 欧美高清视频不卡网| 欧美电影免费提供在线观看| 久久久亚洲高清| 中文字幕国产一区二区| 成人欧美一区二区三区1314| 一区二区三区免费看视频| 丝袜脚交一区二区| 国产一区二区三区黄视频 | 成人高清在线视频| 色菇凉天天综合网| 91麻豆精品国产| 久久免费午夜影院| 亚洲卡通动漫在线| 日本午夜精品视频在线观看| 国产一区二区三区香蕉| 99精品欧美一区二区三区小说| 欧美性xxxxx极品少妇| 日韩精品一区二区三区中文精品 | 中文字幕第一页久久| 亚洲精品视频观看| 日韩av电影免费观看高清完整版| 激情综合色播激情啊| 色狠狠av一区二区三区| 日韩免费在线观看| 国产精品人成在线观看免费| 亚洲大片在线观看| 成人精品一区二区三区四区| 欧美精品九九99久久| 国产精品私人影院| 老司机精品视频一区二区三区| av激情亚洲男人天堂|