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

📄 newtaskui.java

📁 多线程简单下载器 j2se实现 多线程简单下载器 j2se实现
💻 JAVA
字号:
package cn.dg.nitpro.globle;

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

public class NewTaskUI extends JDialog implements ActionListener {
	private TaskManagerPanel tasklistpanel;

	private JTextField SavePath;

	private JTextField Url;

	private JTextField FileName;

	public NewTaskUI(Frame owner, TaskManagerPanel tasklistpanel) {
		super(owner, "新建任务");
		setLayout(null);
		this.tasklistpanel = tasklistpanel;

		JLabel urllab = new JLabel("下载URL:");
		urllab.setBounds(10, 20, 80, 25);
		add(urllab);

		Url = new JTextField();
		Url.setBounds(90, 20, 300, 22);
		//Url.setText("http://localhost/niceball/adweb.rar");
		add(Url);

		JLabel SaveLab = new JLabel("存储路径:");
		SaveLab.setBounds(10, 55, 80, 25);
		add(SaveLab);

		SavePath = new JTextField();
		SavePath.setBounds(90, 55, 240, 22);
		//SavePath.setText("D:\\nitpro\\J2SE课件\\MultiDown\\");
		add(SavePath);

		JButton choose = new JButton("选择");
		choose.setActionCommand("Choose");
		choose.setBounds(335, 55, 60, 22);
		choose.addActionListener(this);
		add(choose);

		JLabel FileLab = new JLabel("另存名称:");
		FileLab.setBounds(10, 90, 80, 25);
		add(FileLab);

		FileName = new JTextField();
		FileName.setBounds(90, 90, 100, 22);
		//FileName.setText("123.rar");
		add(FileName);

		JButton confirm = new JButton("确定");
		confirm.setActionCommand("Confirm");
		confirm.setBounds(130, 130, 80, 30);
		confirm.addActionListener(this);

		JButton cancel = new JButton("取消");
		cancel.setActionCommand("Cancel");
		cancel.setBounds(220, 130, 80, 30);
		cancel.addActionListener(this);

		add(confirm);
		add(cancel);

		Toolkit toolkit = Toolkit.getDefaultToolkit();

		setBounds((toolkit.getScreenSize().width - 420) / 2, (toolkit
				.getScreenSize().height - 200) / 2, 420, 200);
		setVisible(true);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}

	public void actionPerformed(ActionEvent e) {
		String cmd = ((JButton) e.getSource()).getActionCommand();

		if (cmd.equals("Confirm")) {
			NewTask();
		} else if (cmd.equals("Cancel")) {
			dispose();
		} else if (cmd.equals("Choose")) {
			JFileChooser choose = new JFileChooser();
			choose.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

			if (choose.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
				SavePath.setText(String.valueOf(choose.getSelectedFile()));
			}
		}
	}

	private void NewTask() {
		String msg = null;
		if (Url.getText().trim().length() == 0) {
			msg = "下载URL不能为空!";
		} else if (SavePath.getText().trim().length() == 0
				|| !Utils.CreateDir(SavePath.getText().trim())) {
			msg = "非法的存储路径!";
		}

		if (msg != null) {
			JOptionPane.showMessageDialog(this, msg);
			return;
		}

		DownLoad task = new DownLoad(Url.getText().trim(), SavePath
				.getText().trim(), FileName.getText().trim());

		TaskPanel panel = new TaskPanel();
		task.BindPanel(panel);

		tasklistpanel.add(panel);
		tasklistpanel.updateUI();
		//task.start();

		dispose();
	}
}

⌨️ 快捷键说明

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