Operación automatica en la celda de un JTable?

Hola chicos estoy registrando un detalle en un JTable ya logro registrarlo todo en la BD, pero tengo una inquietud quiero que en mi columna Monto Total de la imagen se muestre la multiplicacion automaticamente termine de digitar dentro de la celda de la columna P.U.SOLES como se ve en la imagen. Existe un evento para eso?

https://www.dropbox.com/s/qp37tixiqzbn22d/Captura.PNG

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de CuicaJavier

Mi metodo

Este es el metodo que uso para la multiplicacion de CantRecib * PUSoles:

private void operacionCellJTable(){
//Operación Editar
JTable jt = tblNIdet;
String strCanRecib= String.valueOf(jt.getValueAt(tblNIdet.getSelectedRow(),5));
BigDecimal bCanRecib = new BigDecimal(strCanRecib);

String strPUSoles = String.valueOf(jt.getValueAt(tblNIdet.getSelectedRow(), 6));
BigDecimal bPUSoles = new BigDecimal(strPUSoles);

BigDecimal resultMontoTotal = bCanRecib.multiply(bPUSoles);

int fila = tblNIdet.getSelectedRow();
tableModel.setValueAt(resultMontoTotal, fila, 7);

}

Me parece que no es posible

Me parece que no es posible oir por eventos en el texto, tendrías que esperar a que cambiara el valor con setValueAt()...

Puedes intentar poner un custom editor y a ese editor ponerle un keylistener.

Suerte

Imagen de CuicaJavier

Eventos en JTable

Por el momento puedo hacer las operaciones dentro del JTable con un KeyPressed pero si van a registrar varios datos tienen que multiplicarse automaticamente.
Y justo uso lo que me dices @OscarRyz:

private void operacionCellJTable(){
       
       //Operación Editar multiplicar en Cell
        JTable jt = tblNIdet;
        String strCanRecib= String.valueOf(jt.getValueAt(tblNIdet.getSelectedRow(),5));
        BigDecimal bCanRecib = new BigDecimal(strCanRecib);
       
        String strPUSoles = String.valueOf(jt.getValueAt(tblNIdet.getSelectedRow(), 6));
        BigDecimal bPUSoles = new BigDecimal(strPUSoles);
       
        BigDecimal resultMontoTotal = bCanRecib.multiply(bPUSoles);
       
        int fila = tblNIdet.getSelectedRow();
        tableModel.setValueAt(resultMontoTotal, fila, 7);
    }

Me podrias ayudar poner un custom editor y a ese editor ponerle un keylistener como dices Oscar!
Saludos

Un editor es un componente

Un editor es un componente que se utiliza en cada celda para capturar el valor. Me acuerdo que habia por ahi un problema capturando los eventos porque algun otro elemento los consumia.

Empieza intentando poner un textbox como tu custom editor y agregandole un key listener

Ejemplo de poner un JComboBox como editor aqui:

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#com...

Suerte

:-| import

:-|

import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.EventObject;
class Ce {
    public static void main( String ... args ) {
        JFrame f = new JFrame();
        JTable  t = new JTable(2,2);
        t.setDefaultEditor(Object.class, new TextEditor());
        f.add(t);
        f.pack();
        f.setVisible( true );

    }
}
class TextEditor implements TableCellEditor {
    private JTextField f = new JTextField();
    public TextEditor() {
        f.addKeyListener( new KeyAdapter() {
            @Override
            public void keyTyped(KeyEvent e) {
                System.out.println( e );
            }
        });
       
    }
    public Component getTableCellEditorComponent(JTable table,
                                                 Object value,
                                                 boolean isSelected,
                                                 int row,
                                                 int column) {
        return f;

    }
   
    public Object getCellEditorValue() {
        return f.getText();
    }
    public void removeCellEditorListener(CellEditorListener c) { }
    public void addCellEditorListener(CellEditorListener c)    { }
    public boolean stopCellEditing() { return true;}
    public void cancelCellEditing() {}
    public boolean shouldSelectCell(EventObject anEvent) { return true; }
    public boolean isCellEditable(EventObject anEvent) { return true; }
   

}