Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JTable行中检测对象的策略?_Java_Sorting_Jtable - Fatal编程技术网

Java 在JTable行中检测对象的策略?

Java 在JTable行中检测对象的策略?,java,sorting,jtable,Java,Sorting,Jtable,事情是这样的:一个由JTableModel支持的可排序JTable,带有填充行的对象数组(一个对象=一行)。需要删除行 没有排序,删除对象很简单:获取选定的行索引,删除同一索引下的数组对象。但是,在排序时,行索引会在某种意义上弄乱,因为它们不再匹配备份数组对象索引。克服这个问题的正确方法是什么?我认为(不太确定)有一种类似“modelToView”的方法,它返回视图索引表示的模型中的实际索引 例如,你有A,B,C,D,然后对desc.D,C,B,A进行排序。这个方法会为视图索引3(A)返回0 我

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

没有排序,删除对象很简单:获取选定的行索引,删除同一索引下的数组对象。但是,在排序时,行索引会在某种意义上弄乱,因为它们不再匹配备份数组对象索引。克服这个问题的正确方法是什么?

我认为(不太确定)有一种类似“modelToView”的方法,它返回视图索引表示的模型中的实际索引

例如,你有A,B,C,D,然后对desc.D,C,B,A进行排序。这个方法会为视图索引3(A)返回0

我认为这是在支持排序的JXTable上,或者是在Java6中的JTable上


如果你已经建立了这个排序你自己,考虑添加这个方法。 奥斯卡几乎是对的,下面是应该怎么做:

int selectedRow = table.getSelectedRow();
tableModel.removeRow(table.convertRowIndexToModel(selectedRow));

啊,那个!!:)我不太记得确切的API,但我希望它能给你一些东西来搜索。另外,还有另一种方法convertRowModelToIndex(或类似的方法)是的,就是那个:)。让我感到羞耻的是,这里提到了:他。。。是的。。。有时,我们确实需要一个读心术弹出窗口,上面写着“你在这个页面中寻找ConvertRowIndexTomodel吗?向下滚动,它就在那里…”