被 JTable addRow 搞糊涂了
Confused by JTable addRow
关于向 JTable
添加行,我发现这个问题的有用答案 How to add row in JTable?。
我对这段代码有点困惑:
DefaultTableModel model = (DefaultTableModel) jtable.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});
JTable
已经设置了 table 模型。我对第一行代码的理解是,它将 DefaultTableModel model
(让我们调用 newmodel
)分配给 table 中的 model
,而这个 newmodel
不会附加到 table(因为它未使用 setModel()
设置为 table)。
那么 newmodel
执行的 addRow
方法如何向 Jtable
插入新行?
因为现在 model
指的是模型 已经 链接到 table,您将通过 (DefaultTableModel) jtable.getModel()
获得该模型。它已经存在,您不需要显式地为 table 分配一个(如果您按照链接问题所说的进行操作,您是在构造函数中完成的)。
您不是在替换它,而是在现有的基础上进行操作。而且您不需要将其重新设置为 table,因为您从未取消设置它。您只是在处理模型本身。
关于向 JTable
添加行,我发现这个问题的有用答案 How to add row in JTable?。
我对这段代码有点困惑:
DefaultTableModel model = (DefaultTableModel) jtable.getModel();
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});
JTable
已经设置了 table 模型。我对第一行代码的理解是,它将 DefaultTableModel model
(让我们调用 newmodel
)分配给 table 中的 model
,而这个 newmodel
不会附加到 table(因为它未使用 setModel()
设置为 table)。
那么 newmodel
执行的 addRow
方法如何向 Jtable
插入新行?
因为现在 model
指的是模型 已经 链接到 table,您将通过 (DefaultTableModel) jtable.getModel()
获得该模型。它已经存在,您不需要显式地为 table 分配一个(如果您按照链接问题所说的进行操作,您是在构造函数中完成的)。
您不是在替换它,而是在现有的基础上进行操作。而且您不需要将其重新设置为 table,因为您从未取消设置它。您只是在处理模型本身。