提问者:小点点

在向JTable添加行时,我的所有列都会消失


我正在处理这个swing GUI,当我试图向DefaultTableModel添加一行,然后将JTables模型设置为DefaultTableModel时,我的程序遇到了一个问题。 我有两列都启用了可编辑功能,这两列还包含对象值。 我的代码中没有任何内容指示删除所有列。

这是我的代码:它没有出现错误。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    outputModel = new DefaultTableModel();
    outputModel.addRow(new Object[]{"hello","goodbye"});
    output.setModel(outputModel);
    System.out.println(output.getColumnCount());
    System.out.println(output.getRowCount());
}

输出为:

0
1

两列都被删除,只生成一行。 我使用的是Netbeans 11.2


共1个答案

匿名用户

outputModel = new DefaultTableModel();
outputModel.addRow(new Object[]{"hello","goodbye"});
output.setModel(outputModel);

不要一直创建新的DefaultTableModel并重置模型。 您需要将该行添加到现有的表模型中。

所以代码应该是这样的:

DefaultTableModel model = (DefaultTableModel)output.getModel();
model.addRow(new Object[]{"hello","goodbye"});