muslife.java

来自「用Java编写的一个可下载MP3」· Java 代码 · 共 842 行 · 第 1/3 页

JAVA
842
字号
                   }else if(alltype.isSelected()){                       type=-1;                   }                   String url = "http://mp3.baidu.com/m?f=ms&rn=&tn=baidump3&ct=134217728&word=" + keyword.getText().trim() + "&lm="+ type;                   searchInfo.setText("正在连接.....");                   searchInfo.setText("下载网页.....");                   musicTableModel.clearList();                   musicTable.updateUI();            String code = HtmlCode.getHtmlCode(url);//GEN-LAST:event_searchButtonActionPerformed		   String[] acode=code.split("链接速度</th>[\r\n\t]*</tr>[\r\n\t]*<tr>");                   searchInfo.setText("解析网页.....");		   if(acode.length>1){			code=acode[1];//除掉前面代码			code=(code.split("</tr>[\r\n\t]*</table>"))[0];//去掉后面代码			acode=code.split("</tr><tr>");                        int i=0;			for(String paragraph:acode){                                searchInfo.setText("解析第"+i+"首歌");				musicTableModel.addItem(Parse.parseParagraph(paragraph));                                musicTable.updateUI();                                i++;			}		   }else{			searchInfo.setText("没有歌曲或者网络错误");		   }                    searchInfo.setText("解析完成!双击下载");                               searchButton.setEnabled(true);               } catch (Exception ex) {                   Logger.getLogger(Muslife.class.getName()).log(Level.SEVERE, null, ex);               }              }       });       t.start();}        private void musicTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_musicTableMouseClicked                if(evt.getClickCount()<2) return;                final int row=musicTable.rowAtPoint(evt.getPoint());                Thread t=new Thread(new Runnable(){                    public void run(){                        mainPane.setSelectedIndex(1);                        SearchItem music=(SearchItem)musicTableModel.getItem(row);                        String[] s=music.getUrl().split("/");		        String fileName=s[s.length-1];                        DownloadTask task=new DownloadTask(music.getName(),music.getUrl());                        Thread downloadThread=new Downloader(task,"./download/temp/");                        downloadInfo.setText("开始下载"+fileName);                        downloadThread.start();                                                                      downloadTableModel.addItem(task);                                            }                });               t.start();                }//GEN-LAST:event_musicTableMouseClicked    private void clearmusicListButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearmusicListButtonActionPerformed                musicTableModel.clearList();                musicTable.updateUI();}//GEN-LAST:event_clearmusicListButtonActionPerformed            private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_playButtonActionPerformed                if(playButton.getText().equals("暂停")){                    player.pause();                    playButton.setText("播放");                }                    else{                    player.play();                    playButton.setText("暂停");                }                                   }//GEN-LAST:event_playButtonActionPerformed            private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed       /*             player = new Player(f);//GEN-LAST:event_jButton2ActionPerformed       */                           }            private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextButtonActionPerformed                player.next();                playButton.setText("暂停");            }//GEN-LAST:event_nextButtonActionPerformed            private void previousButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_previousButtonActionPerformed                player.previous();                playButton.setText("暂停");            }//GEN-LAST:event_previousButtonActionPerformed            private void stopButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_stopButtonActionPerformed                player.stop();                playButton.setText("播放");            }//GEN-LAST:event_stopButtonActionPerformed            private void playListTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_playListTableMouseClicked                if(evt.getClickCount()<2){                    return;                }                int row=playListTable.rowAtPoint(evt.getPoint());                player.playClick(row);                playButton.setText("暂停");            }//GEN-LAST:event_playListTableMouseClicked            private void pauseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pauseButtonActionPerformed                 int index;                if((index=downloadTable.getSelectedRow())!=-1){                    DownloadTask task=(DownloadTask)downloadTableModel.getItem(index);                 task.setState("pause");                }                     }//GEN-LAST:event_pauseButtonActionPerformed            private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_startButtonActionPerformed                int index;                if((index=downloadTable.getSelectedRow())!=-1){                    DownloadTask task=(DownloadTask)downloadTableModel.getItem(index);                 task.setState("download");                }               }//GEN-LAST:event_startButtonActionPerformed            private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed                int index;                if((index=downloadTable.getSelectedRow())!=-1){                    DownloadTask task=(DownloadTask)downloadTableModel.getItem(index);                 task.setState("finish");                }                     }//GEN-LAST:event_cancelButtonActionPerformed            private void adddirctoryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_adddirctoryButtonActionPerformed               ExtensionIOFilenameFilter filenameFilter=new ExtensionIOFilenameFilter();               filenameFilter.setName("mp3");               chooser.resetChoosableFileFilters();                            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);               int result=chooser.showOpenDialog(jPanel2);               if(result==JFileChooser.APPROVE_OPTION){                   File directory=chooser.getSelectedFile();                   File[] files=directory.listFiles(filenameFilter);                   for(File file:files){                        player.add(file.getPath());                        Track track=new Track();                        track.setName(file.getName());                        track.setPath(file.getPath());                        playListTableModel.addItem(track);                        playListTable.updateUI();                        PlayListReader.savePlayList(playListTableModel.getList());                  }               }}//GEN-LAST:event_adddirctoryButtonActionPerformed            private void addtrackButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addtrackButtonActionPerformed                final ExtensionFileFilter filter=new ExtensionFileFilter();                filter.addExtension("mp3");                filter.setDescription("mp3 files");                chooser.setFileFilter(filter);                chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);                int result=chooser.showOpenDialog(jPanel2);                if(result==JFileChooser.APPROVE_OPTION){                    File file=chooser.getSelectedFile();                    player.add(file.getPath());                    Track track=new Track();                    track.setName(file.getName());                    track.setPath(file.getPath());                    playListTableModel.addItem(track);                    playListTable.updateUI();                  //  PlayListReader.savePath(track);                    PlayListReader.savePlayList(playListTableModel.getList());                }}//GEN-LAST:event_addtrackButtonActionPerformed            private void deleteTrackButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteTrackButtonActionPerformed                if(playListTable.getSelectedRow()==-1){                    JOptionPane.showConfirmDialog(jPanel2,"请选择一行", "警告", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);                }else{                    int index=playListTable.getSelectedRow();                    playListTableModel.removeItem(index);                    playListTable.updateUI();                    player.remove(index);                    PlayListReader.savePlayList(playListTableModel.getList());                }}//GEN-LAST:event_deleteTrackButtonActionPerformed            private void aboutButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_aboutButtonActionPerformed               AboutDialog about= new AboutDialog(this,true);               about.setLocationRelativeTo(null);               about.setVisible(true);}//GEN-LAST:event_aboutButtonActionPerformed            private void mailButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mailButtonActionPerformed                MailDialog mail= new MailDialog(this,true);               mail.setLocationRelativeTo(null);               mail.setVisible(true);            }//GEN-LAST:event_mailButtonActionPerformed   void initPlayer(){            List<Track> playList=PlayListReader.getPlayList();            playListTableModel.setList(playList);            playListTable.updateUI();            List<String> pathList=PlayListReader.getPathList();            player = new ListPlayer(pathList,1);                        //             chooser=new JFileChooser();             chooser.setCurrentDirectory(new File("."));                       }    void initTimer(){       java.util.TimerTask tt=new java.util.TimerTask() {             public void run() {                  downloadTable.updateUI();             }      };           java.util.Timer t=new java.util.Timer();      t.scheduleAtFixedRate(tt, 0, 1000);   }    /**     * @param args the command line arguments     */    public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                //JFrame.setDefaultLookAndFeelDecorated(true);                JFrame f=new Muslife();                f.setLocationRelativeTo(null);                f.setVisible(true);            }        });    }    //播放器定义    private ListPlayer player;    JFileChooser chooser;    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton aboutButton;    private javax.swing.JButton adddirctoryButton;    private javax.swing.JButton addtrackButton;    private javax.swing.JRadioButton alltype;    private javax.swing.JButton cancelButton;    private javax.swing.JButton clearmusicListButton;    private javax.swing.JButton deleteTrackButton;    private javax.swing.JTextField downloadInfo;    private TaskTableModel downloadTableModel;    private javax.swing.JTable downloadTable;    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JPanel jPanel1;    private javax.swing.JPanel jPanel10;    private javax.swing.JPanel jPanel11;    private javax.swing.JPanel jPanel12;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel3;    private javax.swing.JPanel jPanel4;    private javax.swing.JPanel jPanel5;    private javax.swing.JPanel jPanel6;    private javax.swing.JPanel jPanel7;    private javax.swing.JPanel jPanel8;    private javax.swing.JPanel jPanel9;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JScrollPane jScrollPane2;    private javax.swing.JScrollPane jScrollPane3;    private javax.swing.JTextField keyword;    private javax.swing.JButton mailButton;    private javax.swing.JTabbedPane mainPane;    private javax.swing.JRadioButton mp3type;    private org.serain.shmily.model.searchTableModel musicTableModel;    private javax.swing.JTable musicTable;    private javax.swing.JButton nextButton;    private javax.swing.JButton pauseButton;    private javax.swing.JButton playButton;    private javax.swing.JTable playListTable;    private PlayListTableModel playListTableModel;    private javax.swing.JButton previousButton;    private javax.swing.JButton searchButton;    private javax.swing.JTextField searchInfo;    private javax.swing.ButtonGroup searchbuttonGroup;    private javax.swing.JButton startButton;    private javax.swing.JButton stopButton;    private javax.swing.JRadioButton wmatype;    // End of variables declaration//GEN-END:variables    }

⌨️ 快捷键说明

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