📄 downloadstablemodel.java
字号:
/**
* @(#)DownloadsTableModel.java
*
*
* @author
* @version 1.00 2008/6/7
*/
import java.util.*;
import java.swing.*;
import java.swing.table.*;
class DownloadsTableModel extends AbstractTableModel implements Observer{
private static final String[] columnNames={"URL","Size","Progress","Status"};
private static final Class[] colunmClasses={String.class,String.class,JProgressBar.class,String.class};
private ArrayList<Download> downloadList=new ArrayList<download>();
private void addDownload(Download download){
download.addObserver(this);
downloadList.add(download);
fireTablRowsInserted(getRowCount()-1,getRowCount()-1);
}
public Download getDownload (int row){
return downloadList.get(row);
}
public void clearDownload(int row){
download.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 download.size();
}
public Object getValueAt(int row,int col){
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(Observer o,Object arg){
int index=downloadList.indexOf(o);
fireTableRowsUpdated(index,index);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -