📄 downloadpanel.java
字号:
package edu.jlu.fuliang;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
public class DownloadPanel extends JPanel{
private JTextField savePathTextField;
private JButton downloadButton,browseButton;
private JFileChooser chooser;
private List<DownloadInfo> downloadInfos = new ArrayList<DownloadInfo>();//所有下载的歌曲列表信息
private List<DownloadInfo> thisDownloadInfos;//本次下载的歌曲列表信息
private Download download;
public DownloadPanel(){
download = new Download(".");
setLayout(new GridLayout(2,1));
JPanel savaPanel = new JPanel();
savaPanel.add(new JLabel("保存位置:"));
savePathTextField = new JTextField(30);
savaPanel.add(savePathTextField);
browseButton = new JButton("浏览");
savaPanel.add(browseButton);
add(savaPanel);
JPanel progressPanel = new JPanel();
downloadButton = new JButton("下载");
progressPanel.add(downloadButton);
add(progressPanel);
chooser = new JFileChooser();
browseButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setCurrentDirectory(new File("."));
int result = chooser.showOpenDialog(DownloadPanel.this);
if(result == JFileChooser.APPROVE_OPTION){
String path = chooser.getSelectedFile().getPath();
savePathTextField.setText(path);
download.setSavePath(path);
}
}
});
downloadButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MusicListTableModel musicListTableModel = MusicListTableModel.getInstance();
thisDownloadInfos = new ArrayList<DownloadInfo>();
for(int i = 0; i < musicListTableModel.getRowCount(); i++){
if((Boolean)musicListTableModel.getValueAt(i, 4) == true){
DownloadInfo downloadInfo = new DownloadInfo();
downloadInfo.setSongName((String)musicListTableModel.getValueAt(i, 0));
downloadInfo.setAblum((String)musicListTableModel.getValueAt(i, 2));
downloadInfo.setLink((String)musicListTableModel.getValueAt(i, 1));
downloadInfo.setSonger((String)musicListTableModel.getValueAt(i, 3));
downloadInfo.setTotalSize(0);
downloadInfo.setDownloaded(0);
downloadInfos.add(downloadInfo);
thisDownloadInfos.add(downloadInfo);
}
}
Context.addContext("downloadInfos", downloadInfos);
Context.addContext("thisDownloadInfos", thisDownloadInfos);
download.doDownload();
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -