我有一个基于JTable
的基于表模型,该表模型使用List
,我想从JTable
删除该List
中选择的元素,该JTable
是可排序的,所以当我被选中时行,我不能简单地list.remove,因为顺序是不同的。有解决的办法吗?
最佳答案
看一下JTable方法convertRowIndexToView
和convertRowIndexToModel
:
选择始终是根据JTable进行的,因此当
使用RowSorter,您将需要使用convertRowIndexToView进行转换
或convertRowIndexToModel。
下面显示了如何将JTable的坐标转换为
基本模型:
int[] selection = table.getSelectedRows();
for (int i = 0; i < selection.length; i++) {
selection[i] = table.convertRowIndexToModel(selection[i]);
}
// selection is now in terms of the underlying TableModel
查看How to Use Tables # Sorting and Filtering的一些示例。