⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymp3view.java

📁 是一个java写的 可以输入要下的歌名
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        Runnable searchOver = new Runnable() {            public void run() {                progressBar.setVisible(false);            }           };        public void run() {            try {                SwingUtilities.invokeLater(updateBefore);                String keyword = URLEncoder.encode(jtf1.getText());                String uStr = "http://mp3.baidu.com/m?f=ms&tn=baidump3&ct=134217728&lf=&rn=&word=" + keyword + "&lm=-1";                String listPageCode = StringFilter.getHtmlCode(uStr);                String[] temp = listPageCode.split("链接速度[\r\n\t]*</th>[\r\n\t]*</tr>[\r\n\t]*<tr>");                if (temp.length >= 2) { // temp小于2则表示找不到数据                    temp = temp[1].split("</tr>[\r\n\t]*</table>");                    temp = temp[0].split("</tr><tr>");                    if (temp.length > 0 ) {                        total = temp.length;                        Mp3TableModel mtm = (Mp3TableModel) jTable1.getModel();                        mtm.clearValues();                        SwingUtilities.invokeLater(beforeProcess);                        for (String group : temp) {                            read++;                            MGroup mg = new MGroup(group);  // 第一个页面数据                            String url = mg.getURL();                            url = url.replaceAll(mg.getName(), URLEncoder.encode(mg.getName()));                            String mp3PageCode = StringFilter.getHtmlCode(url);                            String mp3Url = getMp3Address(mp3PageCode);                            Mp3Model mp3 = new Mp3Model(mg.getName(), mp3Url, mg.getSize());                            mtm.addValue(mp3);                            SwingUtilities.invokeLater(update1);                            if (read >= 20) break;                        }                    }                }                SwingUtilities.invokeLater(searchOver);            } catch (Exception e) {                //System.out.println("Exception e");            }        }            }        /**     * 将所有已经打交的数据提交并进行下载     * @param evt     */    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed        addTasks();        jTable2.updateUI();    }//GEN-LAST:event_jButton2ActionPerformed    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed        // 开始按钮        TableModel tm = jTable2.getModel();        int[] keys = jTable2.getSelectedRows();        if (keys.length > 0 && (tm instanceof TaskTableModel)) {            TaskTableModel ttm = (TaskTableModel) tm;            for (int key : keys) {                try {                    TaskModel task = ttm.getValue(key);                    task.toStart();                } catch (Exception exception) {                }             }        }    }//GEN-LAST:event_jButton3ActionPerformed    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed        // 暂停按钮        TableModel tm = jTable2.getModel();        int[] keys = jTable2.getSelectedRows();        if (tm instanceof TaskTableModel) {            TaskTableModel ttm = (TaskTableModel) tm;            for (int key : keys) {                try {                    TaskModel task = ttm.getValue(key);                    task.toPause();                } catch (Exception exception) {                }            }        }    }//GEN-LAST:event_jButton4ActionPerformed    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed        // 删除按钮        removeTask();        jTable2.updateUI();    }//GEN-LAST:event_jButton5ActionPerformed    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed        // 停止按钮        TableModel tm = jTable2.getModel();        int[] keys = jTable2.getSelectedRows();        if (tm instanceof TaskTableModel) {            TaskTableModel ttm = (TaskTableModel) tm;            for (int key : keys) {                try {                    ttm.getValue(key).toStop();                } catch (Exception exception) {                }            }        }    }//GEN-LAST:event_jButton6ActionPerformed    private void jtf1KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jtf1KeyPressed        int key = evt.getKeyCode();        if (key == 10) {            searchMp3();        }    }//GEN-LAST:event_jtf1KeyPressed    private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked        JFileChooser jfc = new JFileChooser("选择保存路径");        jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);        jfc.setMultiSelectionEnabled(false);        jfc.removeChoosableFileFilter(jfc.getAcceptAllFileFilter());        jfc.addChoosableFileFilter(new DirFileFilter());        int sel = jfc.showDialog(mainPanel, "确定");        if (sel == JFileChooser.APPROVE_OPTION) {            File file = jfc.getSelectedFile();            if (file == null) return;            AppConfig app = AppConfig.getInstance();            app.setSavePath(file.getAbsolutePath());   // 设置默认保存路径            jLabel_savePath.setText(app.getSavePath());        }    }//GEN-LAST:event_jLabel3MouseClicked    private void jLabel3MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseEntered        jLabel3.setForeground(Color.BLUE);    }//GEN-LAST:event_jLabel3MouseEntered    private void jLabel3MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseExited        jLabel3.setForeground(Color.BLACK);    }//GEN-LAST:event_jLabel3MouseExited    private void jLabel_savePathMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel_savePathMouseClicked        try {            String path = jLabel_savePath.getText();            Runtime rt = Runtime.getRuntime();            String cmd = "cmd.exe /c start " + path;            rt.exec(cmd);        } catch (Exception e) {            //System.out.println("e" + e.getMessage());        }    }//GEN-LAST:event_jLabel_savePathMouseClicked    private void jLabel_savePathMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel_savePathMouseEntered        this.jLabel_savePath.setForeground(Color.BLUE);    }//GEN-LAST:event_jLabel_savePathMouseEntered    private void jLabel_savePathMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel_savePathMouseExited        this.jLabel_savePath.setForeground(Color.BLACK);    }//GEN-LAST:event_jLabel_savePathMouseExited    private void addTasks() {        ArrayList<TaskModel> mp3ToLoad = new ArrayList<TaskModel>();        TableModel tableModel = jTable1.getModel();        int[] keys = jTable1.getSelectedRows();        if (tableModel instanceof Mp3TableModel) {            Mp3TableModel mtm = (Mp3TableModel) tableModel;            List<Mp3Model> mp3s = mtm.getValues();            for (int key : keys) {                Mp3Model mp3 = mp3s.get(key);                TaskModel tm = new TaskModel(mp3.getName(), mp3.getUrl());                mp3ToLoad.add(tm);            }         }        if (manager == null) {             manager = new Manager(jTable2);             TableColumnModel tcm = jTable2.getColumnModel();             TableColumn tc = tcm.getColumn(TaskModel.COLUMN_PROCESS);             tc.setCellRenderer(new ProgressBarRenderer());        }        if (!mp3ToLoad.isEmpty()) {            manager.addTasks(mp3ToLoad);        }    }        private void searchMp3() {        search = new Thread(new SearchMp3());        search.start();    }        private void removeTask() {        TableModel tm = jTable2.getModel();        int[] keys = jTable2.getSelectedRows();        if (keys.length > 0 && (tm instanceof TaskTableModel)) {            ArrayList<TaskModel> listDel = new ArrayList<TaskModel>();            TaskTableModel ttm = (TaskTableModel) tm;            for (int key : keys) {                try {                    TaskModel temp = ttm.getValue(key);                    listDel.add(temp);                } catch (Exception exception) {}            }            ttm.removeTasks(listDel);        }    }    // 开始按钮    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JButton jButton4;    private javax.swing.JButton jButton5;    private javax.swing.JButton jButton6;    private javax.swing.JButton jButton7;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel_savePath;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JScrollPane jScrollPane2;    private javax.swing.JTable jTable1;    private javax.swing.JTable jTable2;    private javax.swing.JTextField jtf1;    private javax.swing.JPanel mainPanel;    private javax.swing.JProgressBar progressBar;    // End of variables declaration//GEN-END:variables    private Thread search;  // mp3搜索线程    private Manager manager;// mp3下载总控制线程        private final Timer messageTimer;    private final Timer busyIconTimer;    private final Icon idleIcon;    private final Icon[] busyIcons = new Icon[15];    private int busyIconIndex = 0;    private JDialog aboutBox;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -