Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Modificar el valor de una celda en JTable

Estas en el tema de Modificar el valor de una celda en JTable en el foro de Java en Foros del Web. Buenas compañeros, ¿de que manera debo añadir un valor a una celda concreta de un jtable? He probado mediante Jtable y DefaultTableModel: Código PHP: jtableVenta ...
  #1 (permalink)  
Antiguo 12/05/2015, 03:34
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 3 meses
Puntos: 5
Modificar el valor de una celda en JTable

Buenas compañeros, ¿de que manera debo añadir un valor a una celda concreta de un jtable?

He probado mediante Jtable y DefaultTableModel:

Código PHP:
jtableVenta.setValueAt("Hola"filaSelecciodad3);
datosTablaModelDetalle.setValueAt("Hola"filaSelecciodad3); 
Pero me lanza una excepcion en este caso: java.lang.NumberFormatException: For input string: "Hola"


¿Para añadir un registro a la tabla tengo que agregar la fila completa? El caso es que si añado la fila desde su defaultableModel no da ningun error.

¿Alguna idea sobre como añadir un valor a una celda?

Un saludo.
  #2 (permalink)  
Antiguo 13/05/2015, 04:32
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 3 meses
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]

Etiquetas: celda, jtable, modificar, string, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:12.