继承JProgressBar并实现TableCellRenderer,把integer类型显示成用进度条显示出来:
class MyProgressBarRenderer extends JProgressBar implements TableCellRenderer{
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Integer v = (Integer)value;//这一列必须都是integer类型(0-100)
setStringPainted(true);
setValue(v);
return this;
}
}
把它设置成table的要显示进度条的那一列的renderer就行了,比如列名叫“progress”
table.getColumn("progress").setCellRenderer(new MyProgresslRenderer());
这时若调用
table.setValueAt(i,row,col);
第row行第col列的进度条就会被更新了,可以用一个Thread实验一下