我一直想知道为什么jTable默认没有.addRow()
方法。为什么在此之前必须设置Model
?
JTable table = new JTable();
table.addRow();
然而,上述情况是不可能的:
JTable table2 = new JTable();
table2.setModel(new DefaultTableModel());
table2.addRow(...);
设置新模型后,有可能 - 为什么?
答案 0 :(得分:2)
首先,默认情况下,TableModel
不可变(除此之外可能会修改现有数据),也就是说,TableModel
中没有提供任何方法的方法表示添加或删除行。
由TableModel
的实现决定是否可以使用该功能。有关默认界面提供的详细信息,请查看TableModel
其次,模型负责管理数据。当该功能可能存在或不存在时,表突然提供添加/删除功能是没有意义的。应通过模型直接完成对数据的修改 - 恕我直言
第三,没有JTable#addRow
方法