0

我正在使用表模型来处理表中的数据。在那里面,

ArrayList<MyUserObject>datalist用来保存模型的数据。我在模型中使用以下方法检索用户对象:

public MyUserObject getMyUserObject(int rowIndex)
{
    return datalist.get(rowIndex);
}

So when a row of the table is got selected I'm able to get the index of the selected row with ListSelectionListenerusing dataTable.getSelectedRow()and using that value I'm able to retrieve the user object from model using the above method.

但是当使用 TableRowSorter 时,我无法获取所选行中用户对象的实际值。因为当点击 tablesorter 时,数据的行索引会改变。但在模型中它保持不变。所以我无法获得关于所选行的正确用户对象。

换句话说,表中的行顺序变化应该反映在模型中。

我应该重新排列模型中的数组列表吗?或者有没有其他简单的方法可以做到这一点?

我该如何解决这个问题?

4

1 回答 1

1

我可以通过以下方式获取所选行的索引

然后您需要将索引转换为模型行:

int modelRow = table.convertRowIndexToModel(selectedRow);
于 2016-05-25T04:14:03.663 回答