2

事情是这样的:一个由 JTableModel 支持的可排序 JTable,它带有一组填充行的对象(一个对象 = 一行)。需要删除行。

不排序,删除对象很简单:获取选中的行索引,删除同一索引下的数组对象。但是,通过排序,行索引在某种意义上会变得混乱,因为它们不再匹配支持数组对象的索引。克服这个问题的正确方法是什么?

4

2 回答 2

6

奥斯卡几乎是对的,应该这样做:

int selectedRow = table.getSelectedRow();
tableModel.removeRow(table.convertRowIndexToModel(selectedRow));
于 2009-03-13T00:59:22.957 回答
3

我认为(不太确定)有一种像“modelToView”这样的方法,它返回视图索引所代表的模型中的实际索引。

因此,例如,您有 A、B、C、D,然后您对 desc 进行排序。D,C,B,A 此方法将为视图索引 3 ( A ) 返回 0

我认为这是在支持排序的 JXTable 上或在 Java 6 中的 JTable 上。

如果您自己建立了这种排序,请考虑添加此方法。

于 2009-03-13T00:46:52.690 回答