在我的表格模型中,我返回Boolean.class
以便getColumnClass
复选框显示在第一列中。是否可以在除最后一个单元格(总计旁边)之外的第一列中的所有单元格中添加复选框?见截图。谢谢!
问问题
43 次
1 回答
2
当然,您只需要实现一个TableCellRenderer
在呈现最后一行 && 第一列时返回 null 的方法,如下所示:
public class CustomTableCellRenderer implements TableCellRenderer {
private final TableCellRenderer decorate;
public CustomTableCellRenderer(final TableCellRenderer decorate) {
super();
this.decorate = decorate;
}
public Component getTableCellRendererComponent(final JTable table, final Object value,
final boolean isSelected, final boolean hasFocus, final int row, final int column) {
if (column == 0 && row == table.getRowCount() - 1) {
return null;
}
return decorate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
}
现在您需要使用此实现的实例设置布尔单元格的 CellRenderer,例如:
TableColumn column = table.getColumnModel().getColumn(0);
column.setCellRenderer(new CustomTableCellRenderer(table.getDefaultRenderer(Boolean.class)));
使用此实现,最后一行/第一列将显示为空。
于 2012-06-21T18:01:02.747 回答