如何向JTable添加空行?

是否有任何方法可以向jtable添加空行,其中第一列是布尔值,因此它不会显示自动生成的复选框?

我需要它来分隔行组。 我尝试使用下面的代码,但它不起作用:

model.addRow(new Object[]{null,null,null,null}); 

我想让一些行完全为空,因此它们可以作为分隔符。 但在rest时我想保留复选框

您不需要在模型中存储Boolean.TRUE或Boolean.FALSE,而是需要存储null。

那你有两个选择:

  1. 创建一个自动显示布尔值的自定义渲染器,并识别空值并且不显示任何内容。

  2. 重写JTable.getCellRenderer()方法。 当值为null时,返回Object.class的渲染器。 Oject类的默认渲染器将null显示为空字符串。

尝试

 model.addRow(new Object[]{Boolean.FALSE,null,null,null}); 

对于第一列的TableColumn实例,创建一个单元格渲染器(通过实现javax.swing.table.TableCellRenderer),它为不同于null的布尔值呈现复选框(javax.swing.JCheckBox),并呈现一个空标签(javax。 swing.JLabel)为空值。 你不能通过提供DefaultTableCellRenderer(javax.swing.table.DefaultTableCellRenderer)AFAICT来做到这一点。

然后使用TableColumn.setCellRenderer设置TableColumn实例的表格单元格渲染器属性