📄 mymp3view.java
字号:
} }); jButton6.setText(resourceMap.getString("jButton6.text")); // NOI18N jButton6.setName("jButton6"); // NOI18N jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton6ActionPerformed(evt); } }); jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N jLabel3.setName("jLabel3"); // NOI18N jLabel3.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jLabel3MouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jLabel3MouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { jLabel3MouseExited(evt); } }); jLabel_savePath.setText(AppConfig.getInstance().getSavePath()); jLabel_savePath.setName("jLabel_savePath"); jLabel_savePath.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jLabel_savePathMouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jLabel_savePathMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { jLabel_savePathMouseExited(evt); } }); progressBar.setForeground(resourceMap.getColor("progressBar.foreground")); // NOI18N progressBar.setBorderPainted(false); progressBar.setName("progressBar"); // NOI18N progressBar.setPreferredSize(new java.awt.Dimension(150, 15)); javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(mymp3.MYmp3App.class).getContext().getActionMap(MYmp3View.class, this); jButton7.setAction(actionMap.get("showAboutBox")); // NOI18N jButton7.setName("jButton7"); // NOI18N javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jtf1, javax.swing.GroupLayout.DEFAULT_SIZE, 326, Short.MAX_VALUE)) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(jButton3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton5)) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel_savePath))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton7)) .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE))) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 541, Short.MAX_VALUE) .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 541, Short.MAX_VALUE)) .addContainerGap()) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jButton7) .addComponent(jButton1) .addComponent(jtf1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 214, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton3) .addComponent(jButton4) .addComponent(jButton6) .addComponent(jButton5) .addComponent(jButton2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 221, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jLabel_savePath)) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); setComponent(mainPanel); }// </editor-fold>//GEN-END:initComponents private void resetTable() { jScrollPane1.getViewport().setBackground(Color.white); jScrollPane2.getViewport().setBackground(Color.white); jTable1.getColumnModel().getSelectionModel(). setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); jTable1.setRowSelectionAllowed(true); jTable1.setColumnSelectionAllowed(false); jTable1.setRowHeight(22); TableColumn tc0 = jTable1.getColumnModel().getColumn(0); TableColumn tc1 = jTable1.getColumnModel().getColumn(1); TableColumn tc2 = jTable1.getColumnModel().getColumn(2); tc0.setResizable(true); tc0.setPreferredWidth(80); tc1.setResizable(true); tc1.setPreferredWidth(300); tc2.setResizable(false); tc2.setPreferredWidth(50); tc2.setMaxWidth(50); TableColumnModel tcm = jTable1.getColumnModel(); int columns = tcm.getColumnCount(); for (int i = 0; i < columns; i++) { tcm.getColumn(i).setCellRenderer(new MyTableCellRenderer()); } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed this.searchMp3(); }//GEN-LAST:event_jButton1ActionPerformed private String getMp3Address(String htmlCode) { int start = htmlCode.indexOf("<body"); if (start != -1) { htmlCode = htmlCode.substring(start); start = htmlCode.indexOf("href=") + 6; htmlCode = htmlCode.substring(start); htmlCode = htmlCode.substring(0, htmlCode.indexOf("\"")); } return htmlCode; } class MGroup { private String url; private String name; private String size; public String getURL() { return url; } public String getName() { return name; } public String getSize() { return size; } public MGroup(String str) { parseURL(str); parseName(str); parseSize(str); } private void parseURL(String str) { int start = str.indexOf("href=") + 6; String temp = str.substring(start); url = temp.substring(0, temp.indexOf("\"")); } private void parseName(String str) { int start = str.indexOf("blank\">") + 7; int end = str.indexOf("</a>"); name = str.substring(start, end); name = StringFilter.clearHtml(name); } private void parseSize(String str) { try { //System.out.println("====" + str); String[] arr = str.split("<td"); String temp = arr[8]; size = temp.substring(1, temp.indexOf("</td")); // 从1开始 <td> //System.out.println("size======" + size); } catch (Exception exception) {} } } private class SearchMp3 implements Runnable{ private int read; private int total; Runnable updateBefore = new Runnable() { public void run() { progressBar.setVisible(true); progressBar.setIndeterminate(true); progressBar.setStringPainted(false); } }; Runnable beforeProcess = new Runnable() { public void run() { progressBar.setIndeterminate(false); progressBar.setStringPainted(true); } }; Runnable update1 = new Runnable() { public void run() { jTable1.updateUI(); if (total <= 0) return; progressBar.setValue(Integer.parseInt( String.valueOf(read * 100 / total))); } };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -