我删除jtable中最后一行的时候出错
我同时选择了多行,但是如果是包括最后一行总是出错。
代码int[] iRowIndex = jTable.getSelectedRows();
for (i = 0; i < iRowIndex.length; i++) {
iSelectedRowIndex = jTable.getSelectedRow();
mTableModel.removeRow(iSelectedRowIndex); 
}

解决方案 »

  1.   

    for (i = iRowIndex.length-1; i >=0 ; i--) {
      

  2.   

    JTable 至少有一个Row,全没有了,是不是应该调用它的父容器直接把这个JTable直接移除就Ok了。
      

  3.   

    int[] iRowIndex = jTable.getSelectedRows();
    for (i = iRowIndex.length-1; i >=0 ; i--) {
    int index = iRowIndex[i];
    mTableModel.removeRow(index); 
    }
      

  4.   

    int[] iRowIndex = jTable.getSelectedRows(); 
    while(jTable.getSelectedRows().length>0)
    mTableModel.removeRow(0); 

    原来是:0,1,2,3
    当你删除了一个之后:
    还是:0,1,2
    但你用for循环时,这些变量是慢慢增长的,不行.删除了一个之后它会重新排列了.你删除了0位置上的,重新排列后,0位置上又有了.
      

  5.   

    因为Model内的行数变化的时候,他总是从新排列的。所以你如果递增的话会数组越界的。