Java 选择删除的行时,行索引超出范围异常

Java 选择删除的行时,行索引超出范围异常,java,swing,jtable,row,Java,Swing,Jtable,Row,其中getNstInclude()是我的jtable 在上面的代码中,实际上我从jtable中删除了一行,然后我使用删除该行的索引选择了一行,但它显示了行索引超出范围异常。 有人能帮我,我在这里犯了个错误吗? 提前感谢@Mike de Klerk您基本上了解了问题,如果之前selRows.length>0,请取消删除并添加测试loop@irrelephant@mKorbel Ok,那么问题是selfindexes在setRowSelectionInterval中为-1?编辑-等待,这是一个Ill

其中getNstInclude()是我的jtable

在上面的代码中,实际上我从jtable中删除了一行,然后我使用删除该行的索引选择了一行,但它显示了行索引超出范围异常。 有人能帮我,我在这里犯了个错误吗?
提前感谢

@Mike de Klerk您基本上了解了问题,如果之前selRows.length>0,请取消删除并添加测试loop@irrelephant@mKorbel Ok,那么问题是
selfindexes
setRowSelectionInterval
中为-1?编辑-等待,这是一个
IllegalArgumentException
。这就是我发表评论的原因(@Mike de Klerk post更正答案并删除它,rep>10k的用户到处都可以看到已删除的帖子),但没有测试
if(selRows.length)则可以按相反顺序删除行,如果你对M有任何疑问,我可以把答案贴出来。。您确实删除了所有选定的行,包括SELINDEX(这是数组中的第一个),因此,如果选择是从SELINDEX到表的末尾…:-)当然,没有SSCCE很难说
int[] selRows = getNstInclude().getTable().getSelectedRows();

if (selRows.length == 0) 
{
return;
}

int selIndices = getNstInclude().getTable().getSelectedRow();
for (int i = selRows.length - 1; i >= 0; i--)
{
getNstInclude().getTableModel().removeRow(selRows[i]);
}

getNstInclude().getTable().setRowSelectionInterval(selIndices, selIndices);