JTable缺少.addRow()?

时间:2013-08-31 18:00:25

标签: java swing model jtable row

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

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

然而,上述情况是不可能的:

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

设置新模型后,有可能 - 为什么?

1 个答案:

答案 0 :(得分:2)

首先,默认情况下,TableModel不可变(除此之外可能会修改现有数据),也就是说,TableModel中没有提供任何方法的方法表示添加或删除行。

TableModel的实现决定是否可以使用该功能。有关默认界面提供的详细信息,请查看TableModel

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

第三,没有JTable#addRow方法