1

我花了很长时间试图找出一种将新行添加到 JTable 的方法,最初是通过在以下模型上寻找方法:

TableModel model = new DefaultTableModel(data, tabs);

但是,一些快速搜索让我发现 addRow 方法在 DefaultTableModel 类中。所以改成下面这样就成功了:

DefaultTableModel model = new DefaultTableModel(data, tabs);

但是,我创建了许多成功的程序,其中我使用 TabelModel 预先构建了一个数组,所以我有点困惑为什么我需要切换到 DefaultTableModel 来实现这个解决方案,以及是否有原因和目的每个?例如:是否可以简单地使用带有预构建数组的 TabelModel,为什么我上面的 TableModel 实现没有提供添加新数据的方法?

谢谢!

4

1 回答 1

4

如果您必须使用自己的集合作为表模型的核心,那就这样吧,但是您需要扩展 AbstractTableModel 并创建自己的 addRow 方法,将数据添加到模型中,并且(这是关键部分)触发AbstractTableModel的适当数据更改通知方法

于 2012-03-18T19:57:21.913 回答