Java - Operaciones JTable

   
Vista:

Operaciones JTable

Publicado por Ricardo Mancilla (2 intervenciones) el 18/02/2013 15:13:50
Buenos días,

Solicito su ayuda para lo siguiente: obtengo la información de una tabla determinada y la cargo al JTable, tengo una columna Cantidad, otra ValorUnitario y otra Total, necesito que cuando se cambie el valor de la celda Cantidad o ValorUnitario estos dos datos se multipliquen y su resultado se muestre en la celda Total. He capturado el evento setValueAt y realizo la operación pero cuando intento mostrar el resultado no me realiza ningún cambio... Buscando encontré que se puede hacer algo con AbstractTableModel (aclaro que la información la cargo mediante un DefaultTableModel) pero en los ejemplos que encuentro la información la cargan manual y no dinámicamente. Me pueden ayudar con esto?. Agradezco infinitamente su ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Operaciones JTable

Publicado por Tom (911 intervenciones) el 18/02/2013 19:48:22
¿? setValueAt() no es ningún evento, es un método. Mejor pon tu código a ver.

O, recuerda invocar

http://docs.oracle.com/javase/6/docs/api/javax/swing/table/AbstractTableModel.html#fireTableCellUpdated(int, int)

tras modificar alguna celda del JTable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Operaciones JTable

Publicado por Ricardo Mancilla (2 intervenciones) el 18/02/2013 20:42:30
Tienes razon, es un metodo...

ya pude solucionar esto, solo agregue un addTableModelListener al modelo y capturo cuando se hace un cambio en la jtable asi:

modelo.addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
try {
//aqui va el codigo cuando se realiza el cambio...
} catch (Exception e1) {}
}

});

Muchas gracias de todos modos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar