private void uListMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_uListMouseClicked
        String RootURL = "" ;
        
        if (2 == evt.getClickCount()) {
            int nRow = uList.getSelectedRow();
            String nowResultType = uList.getValueAt(nRow, 0).toString();
            String nowURL = uList.getValueAt(nRow, 1).toString();
            //System.out.println(uList.getValueAt(nRow, 0));

            String html = "";
            if (nowResultType.equalsIgnoreCase(TYPE_SE_SITE_LIST)) { // 处理:搜索引擎返回的站点列表
                uSearchBookURL.setText(nowURL);
                uBookURL.setText(nowURL);
                RootURL = nowURL; // 作为后面子目录的根路径
                html = FoxBookLib.downhtml(nowURL);
                List<Map<String, Object>> srt = FoxBookLib.tocHref(html, 22);
                // 输出到列表
                tList.setRowCount(0); // 清空列表
                Iterator<Map<String, Object>> itr = srt.iterator();
                while (itr.hasNext()) {
                    HashMap<String, Object> mm = (HashMap<String, Object>) itr.next();
                    tList.addRow(new Object[]{TYPE_SE_PAGE_LIST, mm.get("url"), mm.get("name")});
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_SE_PAGE_LIST)) { // 处理:章节列表
                if (RootURL.length() > 3) { // 获取完整路径
                    nowURL = FoxBookLib.getFullURL(RootURL, nowURL);
                }
                html = FoxBookLib.downhtml(nowURL);
                html = FoxBookLib.pagetext(html);
                if (html != null && html.length() > 200) {
                    JOptionPane.showMessageDialog(null, html.substring(0, 200));
                }
            }

            if (nowResultType.equalsIgnoreCase(TYPE_QIDIAN_MOBILE_INDEX_LIST)) { // 处理: 起点 站点列表
                uSearchBookURL.setText(nowURL);
                uBookURL.setText(nowURL);
                uQidianID.setText(String.valueOf(site_qidian.qidian_getBookID_FromURL(nowURL))); // 设置QiDianID
                html = FoxBookLib.downhtml(nowURL, "utf-8");
                List<Map<String, Object>> dtl = site_qidian.json2PageList(html);
                // 输出到列表
                tList.setRowCount(0); // 清空列表
                Iterator<Map<String, Object>> itr = dtl.iterator();
                while (itr.hasNext()) {
                    HashMap<String, Object> mm = (HashMap<String, Object>) itr.next();
                    tList.addRow(new Object[]{TYPE_QIDIAN_MOBILE_PAGE_LIST, mm.get("url"), mm.get("name")});
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_QIDIAN_MOBILE_PAGE_LIST)) { // 处理: 起点 内容
                html = FoxBookLib.downhtml(nowURL, "GBK");
                html = site_qidian.qidian_getTextFromPageJS(html);
                if (html != null && html.length() > 200) {
                    JOptionPane.showMessageDialog(null, html.substring(0, 200));
                }
            }
            
            if (nowResultType.equalsIgnoreCase(TYPE_ZSSQ_SITE_LIST)) { // 处理: 追书神器 站点列表
                String oldBID = uBookURL.getText();
                if (oldBID.contains("&bid=")) {
                    uSearchBookURL.setText(nowURL + oldBID);
                    uBookURL.setText(nowURL + oldBID);
                } else {
                    uSearchBookURL.setText(nowURL);
                    uBookURL.setText(nowURL);
                }
                html = FoxBookLib.downhtml(nowURL, "utf-8");
                List<Map<String, Object>> dtl = site_zssq.json2PageList(html, 22);
                // 输出到列表
                tList.setRowCount(0); // 清空列表
                Iterator<Map<String, Object>> itr = dtl.iterator();
                while (itr.hasNext()) {
                    HashMap<String, Object> mm = (HashMap<String, Object>) itr.next();
                    tList.addRow(new Object[]{TYPE_ZSSQ_PAGE_LIST, mm.get("url"), mm.get("name")});
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_ZSSQ_PAGE_LIST)) { // 处理: 追书神器 章节列表
                html = FoxBookLib.downhtml(nowURL, "utf-8");
                html = site_zssq.json2Text(html);
                if (html != null && html.length() > 200) {
                    JOptionPane.showMessageDialog(null, html.substring(0, 200));
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_QREADER_PAGE_LIST)) { // 处理: 快读 章节列表
                html = site_qreader.qreader_GetContent(nowURL);
                if (html != null && html.length() > 200) {
                    JOptionPane.showMessageDialog(null, html.substring(0, 200));
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_EASOU_SITE_LIST)) { // 处理: 宜搜 站点列表
                uSearchBookURL.setText(nowURL);
                uBookURL.setText(nowURL);
                String sGIDNID = "";
                Matcher m = Pattern.compile("(?i).*(gid=[0-9]+&nid=[0-9]+)&").matcher(nowURL);
                while (m.find()) {
                    sGIDNID = m.group(1);
                }
                html = FoxBookLib.downhtml(nowURL, "utf-8");
                List<Map<String, Object>> dtl = site_easou.json2PageList(html, sGIDNID, 22);
                // 输出到列表
                tList.setRowCount(0); // 清空列表
                Iterator<Map<String, Object>> itr = dtl.iterator();
                while (itr.hasNext()) {
                    HashMap<String, Object> mm = (HashMap<String, Object>) itr.next();
                    tList.addRow(new Object[]{TYPE_EASOU_PAGE_LIST, mm.get("url"), mm.get("name")});
                }
            }
            if (nowResultType.equalsIgnoreCase(TYPE_EASOU_PAGE_LIST)) { // 处理: 宜搜 章节列表
                html = FoxBookLib.downhtml(nowURL, "utf-8");
                html = site_easou.json2Text(html);
                if (html != null && html.length() > 200) {
                    JOptionPane.showMessageDialog(null, html.substring(0, 200));
                }
            }
        }
        if (java.awt.event.MouseEvent.BUTTON3 == evt.getButton()) {
            int nRow = uList.rowAtPoint(evt.getPoint());
            uList.setRowSelectionInterval(nRow, nRow);
            //           jPopupMenuBook.show(evt.getComponent(), evt.getX(), evt.getY());
        }
    }