我有一个 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;
}
}
你对如何使它工作有什么建议吗?