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

📄 dlframe.java

📁 用于多线程下载FTP文件, 有GUI界面, 可以直接编译
💻 JAVA
字号:

package multidownload;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class DLFrame extends JFrame
{
  private JPanel contentPane;
  private JTextField textField1=new JTextField();
  private JTextField textField2=new JTextField();
  private JButton button=new JButton();
  private JLabel label1=new JLabel();
  private JLabel label2=new JLabel();
  private JTextArea textArea=new JTextArea();


  private String dlURL=new String();
  private String saveFileAs=new String();

  public DLFrame()
  {
      enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try
    {
      toInit();

    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }
  }

  private void toInit() throws Exception
  {
    contentPane=(JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.setSize(new Dimension(380,320));
    this.setLocation(100,100);
    this.setTitle("多线程下载");
    textField1.setBounds(new Rectangle(150,200,200,20));
    textField1.setText("http://localhost:8080/try.rar");
    textField2.setBounds(new Rectangle(150,240,120,20));
    textField2.setText("d:\\try.rar");
    label1.setBounds(new Rectangle(20,200,120,20));
    label1.setText("下载的目标文件为: ");
    label2.setBounds(new Rectangle(20,240,120,20));
    label2.setText("下载的文件另存为: ");
    button.setBounds(new Rectangle(280,240,60,20));
    button.setText("下载");
    button.addActionListener(new ActionListener()
    {
             public void actionPerformed(ActionEvent e)
             {
                 button_actionPerformed(e);
             }
    });
    JScrollPane scrollPane = new JScrollPane(textArea);
    //textArea.setBounds(new Rectangle(20,20,330,170));
    scrollPane.setBounds(new Rectangle(20,20,330,170));
    textArea.setEditable(false);

    contentPane.add(textField1,null);
    contentPane.add(textField2,null);
    contentPane.add(label1,null);
    contentPane.add(label2,null);
    contentPane.add(button,null);
    //contentPane.add(textArea,null);
    contentPane.add(scrollPane,null);
    dlURL=textField1.getText();
    saveFileAs=textField2.getText();

    this.setDefaultCloseOperation(EXIT_ON_CLOSE);



  }

  public void button_actionPerformed(ActionEvent e)
  {
      //启动分析下载文件的进程
      dlURL=textField1.getText();
      saveFileAs=textField2.getText();
      if(dlURL.compareTo("")==0 && saveFileAs.compareTo("")==0)
      {
          textArea.setText("请输入要下载的文件和保存文件完整地址");
      }
      else
      {
          try
          {
              DownFile downFile=new DownFile(dlURL,saveFileAs,5,textArea);
              downFile.start();
              textArea.append("主线程启动、、、");
          }
          catch (Exception ex)
          {
              ex.printStackTrace();
          }

      }


  }

  public static void main(String[] args)
  {
    new DLFrame().setVisible(true);//要实例化一个对象的时候才会去执行构造方法

  }
}

⌨️ 快捷键说明

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