首页 > 解决方案 > 被 JTable addRow 弄糊涂了

问题描述

关于添加行JTable,我发现这个问题的有用答案如何在 JTable 中添加行?.

我对这段代码有点困惑:

DefaultTableModel model = (DefaultTableModel) jtable.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});

JTable已经设置了表格模型。我在第一行代码中的理解是,它将DefaultTableModel model(let call newmodel)分配给modelfrom 表,并且这newmodel不会附加到表中(因为它没有设置为 table using setModel())。

那么addRow这个newmodel插入新行执行的方法如何Jtable呢?

标签: javaswingjtable

解决方案


因为 nowmodel指的是已经链接到表的模型,您通过(DefaultTableModel) jtable.getModel(). 它已经存在,您不需要显式地为表分配一个(如果您遵循链接问题所说的内容,您可以在构造函数中完成它)。

您不是在替换它,而是在对现有的进行操作。而且您无需将其重新设置到表格中,因为您永远不会取消设置它。您只是在处理模型本身。


推荐阅读