Hola buenas tardes, quisiera que me apoyaran en resolver el problema que tengo para poder realizar una resta utilizando un jtable en netbeans.
Es un sistema de abonos el que estoy realizando, busco el cliente que va realizar un abono y me salen todas sus deudas, entonces selecciono un producto en deuda, le ingreso nueva cantidad que el cliente abono y al momento de dar en abonar solo me tiene que hacer la resta a la fila y producto que estoy seleccionanado. pero el detalle esta en que lo hace en todos los productos que tengo. espero me haya explicado bien.
les dejo las lineas de codigo que tengo.
Este codigo es el de la resta.
void Restaa() {
String Res;
String Abo;
int Resta;
int Abono;
int Debe;
for (int i = 0; i < tbAbono.getRowCount(); i++) {
Abo = tbAbono.getValueAt(i, 5).toString();
Res = tbAbono.getValueAt(i, 6).toString();
Resta = Integer.parseInt(Res);
Abono = Integer.parseInt(Abo);
Debe = Resta - Abono;
tbAbono.setValueAt(Math.round(Debe), i, 6);
}
}
Esta otra es de la tabla, hace la funcion de que al momento de que selecciono una fila. me mande a un txtfiedl aparte para poder ingresar el nuevo abono.
private void tbAbonoMouseClicked(java.awt.event.MouseEvent evt) {
int filaselec= tbAbono.getSelectedRow();
txtAbono.setText(tbAbono.getValueAt(filaselec, 5).toString());
filas=filaselec;
}
Y este es el del boton abonar. y aqui mando a llamar a metodo Restaa.
private void btnabonarActionPerformed(java.awt.event.ActionEven t evt) {
try {
String NºDeVenta = "";
String[] datos = new String[7];
int fila = tbAbono.getSelectedRow();
if (fila == -1) {
JOptionPane.showMessageDialog(null, "SELECCIONE EL PRODUCTO QUE DESEA ABONAR");
} else {
String NVenta = tbAbono.getValueAt(filas, 0).toString();
String UltimoAbo = tbAbono.getValueAt(filas, 1).toString();
String ClaArti = tbAbono.getValueAt(filas, 2).toString();
String Arti = tbAbono.getValueAt(filas, 3).toString();
String TV = tbAbono.getValueAt(filas, 4).toString();
String abo = txtAbono.getText();
String Resta = tbAbono.getValueAt(filas, 6).toString();
datos[0] = NVenta;
datos[1] = UltimoAbo;
datos[2] = ClaArti;
datos[3] = Arti;
datos[4] = TV;
datos[5] = abo;
datos[6] = Resta;
for (int i = 0; i < tbAbono.getColumnCount(); i++) {
modelo.setValueAt(datos, filas, i);
}
Restaa();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error al moemto de abonar", JOptionPane.ERROR_MESSAGE);
}
}
Espero me puedan ayudar. porque ya le he movido mucho pero no me sale. gracias por su atencion.