私はこの列jTable
と一緒にDefaultTableModel
持っています:
String String JProgressBar
そして、すべての行は次のように作成されます。
progress.add(getProgress(x, total));
d.addRow(new Object[]{category, "Initializing..", progress.get(work)});
getProgressは次のとおりです。
private JProgressBar getProgress(int x, int total) {
JProgressBar progressCsv = new JProgressBar();
progressCsv.setMaximum(totale);
progressCsv.setStringPainted(true);
progressCsv.setString("0%");
return progressCsv;
}
そして進歩:
progress = new ArrayList<JProgressBar>();
私のクラスはTableCellRendererを実装しているので
@Override
public Component getTableCellRendererComponent(JTable jtable, Object o, boolean bln, boolean bln1, int i, int i1) {
int v = Integer.parseInt(o.toString());
JProgressBar b = (JProgressBar) jtable.getModel().getValueAt(i, i1);
b.setValue(v);
return null;
}
ここi
で、およびi1
は0〜2です。したがって、最初の行と3番目の列(JProgressBar)。
オン:JProgressBar b =(JProgressBar)jtable.getModel()。getValueAt(i、i1); 私は得る
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer cannot be cast to javax.swing.JProgressBar
問題はどこだ?手伝って頂けますか?