Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2015, 04:32
nachfren
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 10 años
Puntos: 5
Respuesta: Modificar el valor de una celda en JTable

Buenas compañeros, ya he encontrado el fallo, la cuestion es que estaba modificando el valor del jTable desde un metodo que se ejecutaba cuando el valor de una celda cambiaba, asi que entraba en un bucle infinito.

Evento:
Código PHP:
jtableVenta.getModel().addTableModelListener(new TableModelListener() {

            @
Override
            
public void tableChanged(TableModelEvent evento) {
                
actualizaPrecioXCantidad(evento);
            }
        }); 
Metodo que calcula dos celdas y coloca el resultado en otra:
Código PHP:
public void actualizaPrecioXCantidad(TableModelEvent evento){
      
int resultado columnaA columnaB//Esto es pseudo codigo...
      
datosTablaModelDetalle.setValueAt(resultadofilaSeleccionada4);

El fallo que estaba cometiendo era que modificaba el valor de una celda y volvia a entrar en el metodo de forma indefinida, para corregir este error:

Código PHP:
public void actualizaPrecioXCantidad(TableModelEvent evento){
      
//Asi evitamos que se ejecute el metodo por un cambio nuestro.
      
if(evento.getColumn == 4) {
          return;
      }
      
int resultado columnaA columnaB//Esto es pseudo codigo...
      
datosTablaModelDetalle.setValueAt(resultadofilaSeleccionada4);


Espero que os sirva!

He seguido un tutorial de chuidiang: [URL="http://chuwiki.chuidiang.org/index.php?title=Ejemplo_de_uso_de_TableModelListen er"]http://chuwiki.chuidiang.org/index.php?title=Ejemplo_de_uso_de_TableModelListen er[/URL]