我花了很长时间试图找出一种向JTable添加新行的方法,首先是在以下模型上寻找方法:

TableModel model = new DefaultTableModel(data, tabs);


但是,通过一些快速搜索,我发现方法addRow在DefaultTableModel类内。因此,将其更改为以下内容是成功的:

DefaultTableModel model = new DefaultTableModel(data, tabs);


但是,我已经创建了许多成功的程序,其中使用TabelModel预先构建了数组,因此对于为什么需要切换到DefaultTableModel来实现此解决方案以及是否有理由和目的,我有些困惑每个?例如:简单地将TabelModel与预先构建的数组一起使用是可以的,为什么我上面的TableModel实现不带有添加新数据的方法?

谢谢!

最佳答案

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

10-08 01:30