我一直想知道为什么 jTable.addRow()
默认没有方法。为什么你必须Model
在这可能之前设置一个?
JTable table = new JTable();
table.addRow();
但是,以上是不可能的:
JTable table2 = new JTable();
table2.setModel(new DefaultTableModel());
table2.addRow(...);
设置新模型后,它是可能的 - 为什么?
首先,默认情况下,TableModel
是不可变的(除了能够潜在地修改现有数据),也就是说,其中没有TableModel
提供任何方法来添加或删除行的方法。
由实现TableModel
来决定该功能是否可行。查看TableModel
有关默认界面提供的详细信息
其次,管理数据是模型的责任。当该功能可能存在也可能不存在时,表突然提供添加/删除功能是没有意义的。应直接通过模型修改数据 - 恕我直言
三、没有JTable#addRow
办法