67,513
社区成员
发帖
与我相关
我的任务
分享
package DownLoad;import java.awt.BorderLayout;import java.awt.FileDialog;import java.awt.Frame;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import javax.swing.*;public class Dinterface extends JFrame { JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); JPanel p5 = new JPanel(); String urlPath; String savePath; int count; //设置滚动条 JProgressBar Js= new JProgressBar(0,100); JTextArea JT = new JTextArea(15, 20); JLabel J1 = new JLabel("下载地址:"); JTextField JTF1 = new JTextField(20); JLabel J2 = new JLabel("保存位置:"); JTextField JTF2 = new JTextField(14); JButton JB1 = new JButton("另存为"); JButton JB = new JButton("开始下载"); JScrollPane JS = new JScrollPane(JT); JSpinner jsp=new JSpinner(new SpinnerNumberModel(5,0,20,1)); JLabel L = new JLabel("线程数"); public Dinterface() { super("多线程下载器"); JTF1.setText("http://image.stareastnet.com/2006/09/06/20060906160102g1700.mp3"); JB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ButtonAction(e); } }); JB1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ButtonActione(e); } }); p4.setLayout(new GridLayout(2,1)); p1.add(JS); p2.add(J1); p2.add(JTF1); p2.add(Js); p2.add(L); p2.add(jsp); p2.add(JB1); p3.add(J2); p3.add(JTF2); p3.add(JB); p4.add(p2); p4.add(p3); Js.setStringPainted(true); setLayout(new BorderLayout()); add(p1, BorderLayout.NORTH); add(p4, BorderLayout.CENTER); add(p5, BorderLayout.SOUTH); setSize(340, 440); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); setVisible(true); } private void ButtonAction(ActionEvent e) { if (e.getSource() == JB) { //主线程 urlPath=JTF1.getText(); savePath=JTF2.getText(); count=(Integer)(jsp.getValue()); if(urlPath.equals("")){ JT.setText("请输入完整的下载地址"); }else if(savePath.equals("")){ JT.setText("请输入完整的保存地址"); } else { try { BusDown busdown=new BusDown(urlPath,savePath,JT,count,Js); System.out.println(count); Thread t=new Thread(busdown); t.start(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } JT.append("\n"+"寻找服务器资源..."+"\n"); JT.append("\n"+"主线程已启动..."+"\n"); } } } private void ButtonActione(ActionEvent e) { if(e.getSource()==JB1){ urlPath=JTF1.getText(); savePath=JTF2.getText(); Frame f = new Frame("另存为"); FileDialog fd = new FileDialog(f, "另存为", FileDialog.SAVE); int index=urlPath.lastIndexOf("."); String ends=urlPath.substring(index, urlPath.length()); fd.setFile("*"+ends); fd.setVisible(true); try { String savepath = fd.getDirectory(); String savename = fd.getFile(); if (savename != null) { JTF2.setText(savepath+savename); } } catch (Exception esave) { } } } public static void main(String[] args) { new Dinterface(); }}