gpt4 book ai didi

java - 将 JCheckBox 添加到列中除最后一个单元格之外的所有单元格

转载 作者:行者123 更新时间:2023-12-02 07:44:01 26 4
gpt4 key购买 nike

在我的表模型中,我在 getColumnClass 中返回 Boolean.class,以便复选框显示在第一列中。是否可以将复选框添加到第一列中除最后一个单元格(“总计”旁边)之外的所有单元格?请参阅屏幕截图。谢谢!

enter image description here

最佳答案

当然,您只需要实现一个 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);
}
}

现在您需要使用此实现的实例设置 boolean 单元格的 CellRenderer,例如:

    TableColumn column = table.getColumnModel().getColumn(0);
column.setCellRenderer(new CustomTableCellRenderer(table.getDefaultRenderer(Boolean.class)));

通过此实现,最后一行/第一列将显示为空。

关于java - 将 JCheckBox 添加到列中除最后一个单元格之外的所有单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11143929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com