📄 downloadtable.java
字号:
package com.sam.net.download;
import java.util.ArrayList;
import java.util.Observable;
import java.util.Observer;
import javax.swing.ImageIcon;
import javax.swing.JProgressBar;
import javax.swing.table.AbstractTableModel;
public class DownloadTable extends AbstractTableModel implements Observer{
public static final String[] columnNames={"状态","文件名","文件路径","文件大小","下载进度","文件类型","用时"};
public static final Class[] columnClasses={String.class,String.class,String.class,Long.class,JProgressBar.class,String.class,String.class};
public ArrayList<Search> sourceList = new ArrayList<Search>();
public Search getDownload(int index) {
return sourceList.get(index);
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
// TODO Auto-generated method stub
return sourceList.size();
}
public String getColumnName(int col) {
return columnNames[col];
}
public Class getColumnClass(int col) {
return columnClasses[col];
}
public void addSource(Search search) {
search.addObserver(this);
sourceList.add(search);
fireTableRowsInserted(getRowCount()-1,getRowCount()-1);
}
public void dele(int row) {
sourceList.remove(row);
fireTableRowsDeleted(row,row);
}
public Object getValueAt(int row, int col) {
Search search = (Search)sourceList.get(row);
switch(col) {
case 0:
return Search.STATUSES[search.getStatus()];
case 1:
return search.getFilename();
case 2:
return search.getUrl();
case 3:
long fileLength = search.getFileLength();
return (fileLength == -1)?"0":fileLength;
case 4:
return new Float(search.getProgress());
case 5:
return search.getFiletype();
case 6:
return search.getTime();
}
return "";
}
public void update(Observable o, Object arg) {
int index = sourceList.indexOf(o);
fireTableRowsUpdated(index,index);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -