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

问题描述 投票:0回答:1

我正在使用这个摆动的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

java swing jtable
1个回答
1
投票
outputModel = new DefaultTableModel(); outputModel.addRow(new Object[]{"hello","goodbye"}); output.setModel(outputModel);
不要继续创建新的DefaultTableModel并重置模型。您需要将该行添加到现有的TableModel中。

所以代码应该像这样:

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

© www.soinside.com 2019 - 2024. All rights reserved.