Jtable高亮时删除行的问题

问题描述

这里我有一个循环,当单击“删除”按钮时,它将获取表中突出显示的行的索引

private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {                                      
    //DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
    int[] row = jTable2.getSelectedRows();
    for (int i =0; i < jTable2.getSelectedRowCount();i++){
        int rows = jTable2.convertRowIndexToModel(row[i]);
        System.out.println("row [" + rows +"]");
    //model.removeRow(rows); 
        
    }
            
}  

表格图片Table

控制台图片Console output

但是,当我添加 model.removeRow(rows) 以根据它记录的索引删除行时,它并没有删除它。

示例:

private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {                                      
    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
    int[] row = jTable2.getSelectedRows();
    for (int i =0; i < jTable2.getSelectedRowCount();i++){
        int rows = jTable2.convertRowIndexToModel(row[i]);
        System.out.println("row [" + rows +"]");
    //added
    model.removeRow(rows); 
        
    }
            
}   

表格图片Table

这是点击删除按钮后的输出,它只删除了2行 并且控制台只输出 2 个索引而不是 3 个索引

Table After Button Click Pic:Table

控制台图片Console Output

问题可能是

model.removeRow(rows); 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)