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

📄 downloadstablemodel.java

📁 HTTP单线程下载实例
💻 JAVA
字号:
import java.util.*;   
import javax.swing.*;   
import javax.swing.table.*;

class DownloadsTableModel extends AbstractTableModel implements Observer {   
	private static final String[] columnNames = {"下载地址", "大小", "进度", "状态"};    
	private static final Class[] columnClasses = {String.class, String.class, JProgressBar.class, String.class};   
	private ArrayList downloadList =  new ArrayList();   
		
 	public void addDownload(Download download) {   
		download.addObserver(this);
		downloadList.add(download);
		fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);   
	}   
	
	public Download getDownload(int row) {   
		return (Download) downloadList.get(row);   
	}   

	public void clearDownload(int row) {   
		downloadList.remove(row);
		fireTableRowsDeleted(row, row);   
	}   

	public int getColumnCount() {   
		return columnNames.length;   
	}   
	
	public String getColumnName(int col) {   
		return columnNames[col];   
	}   
	
	public Class getColumnClass(int col) {   
		return columnClasses[col];   
	}   
	
	public int getRowCount() {   
		return downloadList.size();   
	}
	
	public Object getValueAt(int row, int col) {   
		Download download = (Download) downloadList.get(row);   
		switch (col) {   
	  		case 0:   // 地址   
	      		return download.getUrl();   
	  		case 1:   // 文件大小  
	      		int size = download.getSize();   
	      		return (size == -1) ? "" : Integer.toString(size);   
	  		case 2:   // 进度条  
	      		return new Float(download.getProgress());   
	  		case 3:   // 状态栏
	      		return Download.STATUSES[download.getStatus()];   
		}   
		return "";   
	}   

	public void update(Observable o, Object arg) {   
		int index = downloadList.indexOf(o);   
		fireTableRowsUpdated(index, index);   
	}   
}

⌨️ 快捷键说明

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