【发布时间】:2012-06-30 14:05:17
【问题描述】:
我有一个 JTable,其中有几列被绘制为复选框。我想要做的是通过选中/取消选中 B 列中的相应复选框来启用/禁用 A 列的复选框。
我已经设法根据this example 做到这一点,但我对新启用/禁用的复选框有疑问 - 它们没有正确刷新。最后启用/禁用的复选框只有在我单击表格中的任何其他单元格后才会刷新。
问题看起来像这样(“参考结构”列是启用/禁用复选框的列):
复选框未启用:
复选框未禁用:
这是我的 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;
}
}
你有什么建议可以让它发挥作用吗?
【问题讨论】:
标签: java swing checkbox jtable jcheckbox