如何在Jtable中添加JProgressBar?
下边是我写的代码但是没有效果
//在Jtable的指定列添加
table.getColumnModel().getColumn(5).setCellEditor(new MyProgressCellEditor(1000));
table.getColumnModel().getColumn(5).setCellRenderer(new ProgressPanel());package com.jframe;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.AbstractCellEditor;
import javax.swing.JProgressBar;
import javax.swing.JTable;
import javax.swing.Timer;
import javax.swing.table.TableCellEditor;import com.rz.SendMail;public class MyProgressCellEditor extends AbstractCellEditor implements TableCellEditor,ActionListener{ private JProgressBar jpb;
private Timer time;
private int maxnum;//jpb的最大值

public MyProgressCellEditor(int maxnum){
jpb=new JProgressBar();
jpb.setStringPainted(true);
jpb.setSize(20, 8);
this.maxnum=maxnum;
//jpb.setOrientation(JProgressBar.HORIZONTAL);
jpb.setMinimum(0);
jpb.setMaximum(maxnum);
jpb.setValue(10);
time=new Timer(2, this);

}

@Override
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
// TODO Auto-generated method stub
return jpb;
} @Override
public Object getCellEditorValue() {

return jpb.getValue();
} @Override
public void actionPerformed(ActionEvent e) {
int i=SendMail.successMail;//静态变量
jpb.setValue(i);
if(maxnum==i){
stopShow();
}
}
/**
 * 启动调用
 */
public void starShow(){
time.start();
}
/**
 * 停止调用
 */
public void stopShow(){
time.stop();
}
}package com.jframe;import java.awt.Component;import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;public class ProgressPanel extends JProgressBar implements TableCellRenderer{ @Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
// TODO Auto-generated method stub
return this;
}
}
上边是我写的代码,但是在加入table后没有效果,请大家帮忙!