问题在于,从数据库获取的相同值进度,特别是最后一个值是所有jtable行的jprogressbar值。我不知道如何为jprogress bar设置不同的值。
public ProgressRenderer(){
super(0, 100);
try{conn1= ConnectDB.ConnectDB();
String sql1="SELECT `progress` FROM `tache`";
pst1=conn1.prepareStatement(sql1);
rs1=pst1.executeQuery();
while(rs1.next()){
int a=rs1.getInt("progress");
P.add(a);
++count;
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
for (int i =0; i<count; i++) {
setValue(P.get(i));
String s = (P.get(i))+"%";
setString(s);
setStringPainted(true);
}
}
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
//value is a percentage e.g. 95%
final String sValue = value.toString();
int index = sValue.indexOf('%');
if (index != -1) {
int p = 0;
try{
p = Integer.parseInt(sValue.substring(0, index));
}
catch(NumberFormatException e){
}
setValue(p);
setString(sValue);
}
return this;
}
}