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

📄 listchangethread.java

📁 一个简单的多线程下载程序
💻 JAVA
字号:
package com.network.flashget;

import java.lang.Thread;
import java.util.LinkedList;

class ListChangeThread extends Thread
{
	static LinkedList downList = MainWindow.taskDownList;
	static LinkedList finishedList = MainWindow.taskFinishedList;
	static LinkedList deletedList = MainWindow.taskDeletedList;
	static LinkedList runList = MainWindow.runningList;
	static LinkedList statusList = MainWindow.statusList;
	
	/**
	 *从tableDown表中删除行,加到tableFinsihed表中---------------------------
	 **/
	public static void changed(int rowValue)
	{
		TaskManage  tempTaskManager = (TaskManage)downList.remove(rowValue);
		finishedList.add(tempTaskManager);
		runList.remove(rowValue);
		statusList.remove(rowValue);
					
		//将该任务从下载表格中删除--------------------------------------------------
		MainWindow.tableDownModel.removeRow(rowValue);
					
		//将该任务加入到下载完成的表格中--------------------------------------------
		String[] tableFinishedName = {"状态", "文件名", "大小","注释"};
		String tempName = tempTaskManager.fileName;
		long tempLength =  tempTaskManager.fileLength;
		Object[] info = {"Finished",tempName,tempLength,""};
		MainWindow.tableFinishedModel.addRow(info);	
		
		for(int i = 0; i < downList.size();i++)
		{
			((TaskManage)downList.get(i)).rowValue = i;
		}			
	}
	
	/**
	 *从tableFinished表中删除行,加到tableDeleted表中---------------------------
	 **/
	public static void deletedFinishedChanged(int rowValue)
	{
		TaskManage  tempTaskManager = (TaskManage)finishedList.remove(rowValue);
		deletedList.add(tempTaskManager);
		
		//将该任务从下载表格中删除--------------------------------------------------
		MainWindow.tableFinishedModel.removeRow(rowValue);
					
		//将该任务加入到下载完成的表格中--------------------------------------------
		String[] tableFinishedName = {"状态", "文件名", "大小","注释"};
		String tempName = tempTaskManager.fileName;
		long tempLength =  tempTaskManager.fileLength;
		Object[] info = {"Deleted",tempName,tempLength,""};
		MainWindow.tableDeletedModel.addRow(info);	
		
		for(int i = 0; i < finishedList.size();i++)
		{
			((TaskManage)finishedList.get(i)).rowValue = i;
		}			
	}
	
	
	/**
	 *从tableDown表中删除行,加到tableDeleted表中---------------------------
	 **/
	public static void deletedDownChanged(int rowValue)
	{
		TaskManage  tempTaskManager = (TaskManage)downList.remove(rowValue);
		deletedList.add(tempTaskManager);
		runList.remove(rowValue);
		statusList.remove(rowValue);
					
		//将该任务从下载表格中删除--------------------------------------------------
		MainWindow.tableDownModel.removeRow(rowValue);
					
		//将该任务加入到下载完成的表格中--------------------------------------------
		String[] tableFinishedName = {"状态", "文件名", "大小","注释"};
		String tempName = tempTaskManager.fileName;
		long tempLength =  tempTaskManager.totalDownLength;
		Object[] info = {"Deleted",tempName,tempLength,""};
		MainWindow.tableDeletedModel.addRow(info);	
		
		for(int i = 0; i < downList.size();i++)
		{
			((TaskManage)downList.get(i)).rowValue = i;
		}		
	}
	
	/**
	 *从tableDelted表中删除行------------------------------------------------------
	 **/
	public static void deletedDeletedChanged(int rowValue)
	{
		TaskManage  tempTaskManager = (TaskManage)deletedList.remove(rowValue);
					
		//将该任务从下载表格中删除--------------------------------------------------
		MainWindow.tableDeletedModel.removeRow(rowValue);
		for(int i = 0; i < deletedList.size();i++)
		{
			((TaskManage)deletedList.get(i)).rowValue = i;
		}		
	}
	
	/**
	 *从tableDelted表中删除行,到tableDown表中------------------------------------------------------
	 **/
	public static void downDeletedChanged(int rowValue)
	{
		TaskManage  tempTaskManager = (TaskManage)deletedList.remove(rowValue);
					
		//将该任务从下载表格中删除--------------------------------------------------
		MainWindow.tableDeletedModel.removeRow(rowValue);
		MainWindow.taskCount++;
		
    	MainWindow.taskDownList.add(tempTaskManager);    	
    	for(int i = 0; i < downList.size();i++)
		{
			((TaskManage)downList.get(i)).rowValue = i;
		}
		tempTaskManager.changeFlag = false;
    	//将该任务加到运行链表中----------------------------------------------------------------
    	MainWindow.runningList.add(new Boolean(false));
    	
    	//说明该任务不是从文件读出来的----------------------------------------------------------
    	MainWindow.statusList.add(new Boolean(true));
       	
       	//将任务情况加到tableDown表格中去-------------------------------------------------------
    	String tempStatus = "Stop";
       	String tempName = tempTaskManager.fileName;
    	long tempLength =  tempTaskManager.fileLength;
    	long tempDown = tempTaskManager.totalDownLength;
    	float tempRate = tempTaskManager.downRate;
    	String tempSave = tempTaskManager.saveTo;
    	int tempThreadNum = tempTaskManager.threadNum;
    	String tempURL = tempTaskManager.url.toString();
    	
    	Object[] info = {tempStatus,tempName,tempLength,tempDown,tempRate,tempSave,tempThreadNum,tempURL};
		MainWindow.tableDownModel.addRow(info);
		
		for(int i = 0; i < deletedList.size();i++)
		{
			((TaskManage)deletedList.get(i)).rowValue = i;
		}
    	System.out.println("Task Start"); 		
	}							
}

⌨️ 快捷键说明

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