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

📄 downfilejframe.java

📁 用多线程下载URL定位的文件,主要供学习java多线程的人和HTTP协议的人参考
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
 * DownFileJFrame.java
 *
 * Created on 2006年12月11日, 下午10:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author Administrator
 */
/*******************************************************************************/
/*                               *项目主类*
 *类名:DownFileJFrame 
 *继承:JFrame
 *功能:创建窗体,项目执行入口
 *方法:构造方法 public void DownFileJFrame()
 *      初始化窗体public void toInit()
 *      项目入口 public static void main(String[] args)
 */
/********************************************************************************/
public class DownFileJFrame extends JFrame{
    String stringURL;
    String saveFileAs;
    //容器
    JPanel contentJPane;
    JScrollPane  scrollPane=new JScrollPane();   
    //输入URL地址
    JTextField jTextURL=new JTextField();
    //输入保存的本地路径和文件名称
    JTextField jTextLocalPath=new JTextField();
    // 下载过程的提示信息
    JTextArea messageJTextArea=new JTextArea();
    //下载按钮
    JButton downJButton=new JButton();
    //提示信息
    JLabel jLabelURL=new JLabel();
    JLabel jLabelPath=new JLabel();    
    //初始化窗体
    public void toInit(){
        //获取窗体的容器
        contentJPane=(JPanel) this.getContentPane();
        contentJPane.setLayout(null);
        //设置窗体属性
        this.setSize(new Dimension(380,320));
        this.setLocation(250,200);
        this.setTitle("随风下载");        
        //设置输入框属性
        jTextURL.setBounds(new Rectangle(120,200,230,20));
        jTextURL.setText("http://www.zhouyunhai.com/book/whomovedmycheese.exe");
        jTextLocalPath.setBounds(new Rectangle(120,240,150,20));
        jTextLocalPath.setText("H:\\2.exe");
        jLabelURL.setBounds(new Rectangle(20,200,120,20));
        jLabelURL.setText("文件URL地址:");
        jLabelPath.setBounds(new Rectangle(20,240,120,20));
        jLabelPath.setText("文件另存为:");
        downJButton.setBounds(new Rectangle(290,240,60,20));
        downJButton.setText("下载");
        downJButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
                button_actionPerformed(e);
            }
        }); 
        //添加滚动条
        scrollPane.setBounds(20,20,330,170);   
        messageJTextArea.setBounds(new Rectangle(20,20,300,170)); 
        messageJTextArea.setEditable(false);
        scrollPane.getViewport().add(messageJTextArea);   
        contentJPane.add(jTextURL,null);
        contentJPane.add(jTextLocalPath,null);
        contentJPane.add(jLabelURL,null);
        contentJPane.add(jLabelPath,null);
        contentJPane.add(downJButton,null);
        contentJPane.add(scrollPane,null); 
        //
        setDefaultCloseOperation(DownFileJFrame.EXIT_ON_CLOSE);
        //设置不可变边框
        this.setResizable(false);
        jTextURL.requestFocus();       
        jTextURL.selectAll();
        this.setVisible(true);
    }
        public void button_actionPerformed(ActionEvent se){            
        try {
            messageJTextArea.setText(null);
            stringURL=jTextURL.getText();
            saveFileAs=jTextLocalPath.getText();
            //System.out.println("URL:"+stringURL);
            //System.out.println("saveAs:"+saveFileAs);
            messageJTextArea.append("文件的URL地址: "+stringURL);
            messageJTextArea.append("\n文件另存为: "+saveFileAs);
            if(stringURL.compareTo("")==0&&saveFileAs.compareTo("")==0){
                messageJTextArea.setText("\n请输入要下载的文件和保存文件的完整地址\n" +
                        "然后单机下载重新下载");
            }
            else{
                // 实现下载
                DownFile downFile=new DownFile(saveFileAs,stringURL,messageJTextArea);
                downFile.start();
            }
        } catch (Exception e) {
            e.printStackTrace();
            messageJTextArea.append("\nError:"+e);
        }        
    }  
    /** Creates a new instance of DownFileJFrame */
    public DownFileJFrame() {
        //初始化窗体
        this.toInit();
        
    }
    /*******************************************************************/
    /*
                               *项目入口*
     */
    /********************************************************************/
    public static void main(String[] args) {
        DownFileJFrame downFile=new DownFileJFrame();       
    }    
}

⌨️ 快捷键说明

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