jtable 显示进度条并更新

继承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实验一下

你可能感兴趣的:(更新,jtable,JProgressBar)