繁体   English   中英

如何在JTable中添加一个空行?

[英]How do I add an empty row to JTable?

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

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

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

我想使一些行完全为空,以便它们用作分隔符。 但是在休息时,我想保留复选框

无需在模型中存储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),以渲染一个复选框(javax.swing.JCheckBox)以获取不同于null的布尔值,并渲染一个空标签(javax)。 swing.JLabel)为空值。 您不能通过提供DefaultTableCellRenderer(javax.swing.table.DefaultTableCellRenderer)AFAICT来做到这一点。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM