我有一个基于JTable的基于表模型,该表模型使用List,我想从JTable删除该List中选择的元素,该JTable是可排序的,所以当我被选中时行,我不能简单地list.remove,因为顺序是不同的。有解决的办法吗?

最佳答案

看一下JTable方法convertRowIndexToViewconvertRowIndexToModel


  选择始终是根据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的一些示例。

08-18 11:02
查看更多