单击 TableRowSorter 时获取所选行中的用户对象
Get user object in the selected row when TableRowSorter is clicked
我正在使用 table 模型来处理 table 中的数据。其中,
我用ArrayList<MyUserObject>datalist
来保存模型的数据。我在模型中使用以下方法检索用户对象:
public MyUserObject getMyUserObject(int rowIndex)
{
return datalist.get(rowIndex);
}
因此,当 table 的一行被选中时,我可以使用 dataTable.getSelectedRow()
获得所选行的索引 ListSelectionListener
并使用该值我是能够使用上述方法从模型中检索用户对象。
但是当使用 TableRowSorter 时,我无法获取所选行中用户对象的实际值。因为当 tablesorter 被点击时,数据的行索引被改变了。但在模型中它保持不变。所以我无法获得关于所选行的正确用户对象。
换句话说,table 中的行顺序变化应该反映在模型中。
我应该重新排列模型中的数组列表吗?或者还有其他简单的方法吗?
我该如何解决这个问题?
I'm able to get the index of the selected row with
然后需要将索引转换为模型行:
int modelRow = table.convertRowIndexToModel(selectedRow);
我正在使用 table 模型来处理 table 中的数据。其中,
我用ArrayList<MyUserObject>datalist
来保存模型的数据。我在模型中使用以下方法检索用户对象:
public MyUserObject getMyUserObject(int rowIndex)
{
return datalist.get(rowIndex);
}
因此,当 table 的一行被选中时,我可以使用 dataTable.getSelectedRow()
获得所选行的索引 ListSelectionListener
并使用该值我是能够使用上述方法从模型中检索用户对象。
但是当使用 TableRowSorter 时,我无法获取所选行中用户对象的实际值。因为当 tablesorter 被点击时,数据的行索引被改变了。但在模型中它保持不变。所以我无法获得关于所选行的正确用户对象。
换句话说,table 中的行顺序变化应该反映在模型中。
我应该重新排列模型中的数组列表吗?或者还有其他简单的方法吗?
我该如何解决这个问题?
I'm able to get the index of the selected row with
然后需要将索引转换为模型行:
int modelRow = table.convertRowIndexToModel(selectedRow);