El error proviene de aquí
tablaventa.getValueAt;//el metodo getValueAt, no de row[i],
verifica el numero de indices, que le envías a getValueAt. si los indices de columnas están bien, puede que el tablaventa.getSelectedRows(), te este enviando numero de filas que no existen, usa un debugguer para ver el flujo del programa y así no te haces tantas bolas.
saludos.
Hola buenas necesito borrar unas filas que selecciono de un jtable, pero solo me borra la primera fila aca les dejo el codigo ojala me puedan ayudar.
DefaultTableModel modelo = (DefaultTableModel) tablaventa.getModel();
int[] row = tablaventa.getSelectedRows();
for(int i =0; i<row.length; i++){
String id = (String) tablaventa.getValueAt(row[i], 0);
String n = (String) tablaventa.getValueAt(row[i], 1);
String p = (String) tablaventa.getValueAt(row[i], 2);
int c = (int) tablaventa.getValueAt(row[i], 3);
int d = (int) tablaventa.getValueAt(row[i], 4);
int ds = (int) tablaventa.getValueAt(row[i], 5);
int sb = (int) tablaventa.getValueAt(row[i], 6);
String sql= "insert into agrupados(id_venta, fecha, codigo,nombre, cantidad,precio,porcentaje,descuento,subtotal)"
+"values('"+idb+"','"+f+"','"+id+"','"+n+"','"+c+"','"+p+"','"+ds+"','"+d+"', '"+sb+"')";
rs = st.executeUpdate(sql);
JOptionPane.showMessageDialog(this, "'"+row[i]+"'");
modelo.removeRow(row[i]);
el error es del tipo java.lang.ArrayIndexOutOfBoundsException: se que estoy acciendo al un lugar del arreglo que no esta, pero no se como solucionarlo tambien probe con row.length -1 tampoco funciono
Gracias por su ayuda