0

我一直想知道为什么 jTable.addRow()默认没有方法。为什么你必须Model在这可能之前设置一个?

JTable table = new JTable();
table.addRow();

但是,以上是不可能的:

JTable table2 = new JTable();
table2.setModel(new DefaultTableModel());
table2.addRow(...);

设置新模型后,它是可能的 - 为什么?

4

1 回答 1

2

首先,默认情况下,TableModel是不可变的(除了能够潜在地修改现有数据),也就是说,其中没有TableModel提供任何方法来添加或删除行的方法。

由实现TableModel来决定该功能是否可行。查看TableModel有关默认界面提供的详细信息

其次,管理数据是模型的责任。当该功能可能存在也可能不存在时,表突然提供添加/删除功能是没有意义的。应直接通过模型修改数据 - 恕我直言

三、没有JTable#addRow办法

于 2013-08-31T20:07:02.693 回答