チェックボックスとして描画されたいくつかの列を持つ JTable があります。私がしたいのは、列 B の対応するチェックボックスをオン/オフにして、列 A のチェックボックスを有効/無効にすることです。
この例に基づいてなんとかできましたが、新しく有効化/無効化されたチェックボックスに問題があり、正しく更新されません。最後に有効/無効にしたチェックボックスは、テーブル内の他のセルをクリックした後にのみ更新されます。
問題は次のようになります (「参照構造」列は、チェックボックスが有効/無効になっている列です):
チェックボックスが有効になっていません:
チェックボックスが無効になっていません:
これは私の JTable コードです:
public class StructuresJTable extends JTable {
public StructuresJTable() {
super();
}
public StructuresJTable(TableModel dm) {
super(dm);
}
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row,
int col) {
Component c = super.prepareRenderer(renderer, row, col);
if (col == StructuresTableModel.COMPARISON_REF_STRUCT_COL) {
c.setEnabled((Boolean) this.dataModel.getValueAt(row,
StructuresTableModel.COMPARE_COL));
} else {
c.setEnabled(true);
}
return c;
}
}
それを機能させる方法について何か提案はありますか?