Hola estoy comenzando en java y quiero hacer una factura la idea es llenar un jtable al incertar un dato en una celda, es decir que me despliegue la información de un producto al precionar Enter o dando un click.
Con el mouse ya lo he realizado pero tengo problemas para realizarlo con las teclas, ya que no funcionan les dejo el codigo.
Esto uso para mostrar los datos de la base en una tabla al dar click.
tb_factura.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
int fila = tb_factura.rowAtPoint(e.getPoint());
int columna = tb_factura.columnAtPoint(e.getPoint());
if ((fila > -1) && (columna > -1))
System.out.println(tb_factura.getValueAt(fila,1));
String a = (String)tb_factura.getValueAt(fila,1);
/*Variables para almacenar resultado de consulta*/
double pvp;
String serial;
String tipo;
String marca;
String modelo;
String descripcion;
/*Establecer en tabla datos*/
serial = transacciones.llenarfacturaserial(a);
tb_factura.setValueAt(serial,fila, 2);
tipo = transacciones.llenarfacturatipo(a);
tb_factura.setValueAt(tipo,fila, 3);
marca = transacciones.llenarfacturamarca(a);
tb_factura.setValueAt(marca,fila, 4);
modelo = transacciones.llenarfacturamodelo(a);
tb_factura.setValueAt(modelo,fila, 5);
descripcion = transacciones.llenarfacturadescripcion(a);
tb_factura.setValueAt(descripcion,fila, 6);
pvp = transacciones.llenarfacturapvp(a);
tb_factura.setValueAt(pvp,fila, 7);
}
});
tb_factura.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
int fila = tb_factura.rowAtPoint(e.getPoint());
int columna = tb_factura.columnAtPoint(e.getPoint());
int cantidad;
String getcantidad;
if ((fila > -1) && (columna > -1))
System.out.println(tb_factura.getValueAt(fila,1));
String a = (String)tb_factura.getValueAt(fila,1);
getcantidad = (String) tb_factura.getValueAt(fila,8);
cantidad = Integer.valueOf(getcantidad);
/*Variables para almacenar resultado de consulta*/
double pvp;
/*Establecer en tabla datos*/
pvp = transacciones.llenarfacturapvp(a);
tb_factura.setValueAt(pvp,fila, 7);
/*Calculo del precio total*/
tb_factura.setValueAt(pvp*cantidad,fila, 9);
double lbl_t;
lbl_t = pvp * cantidad;
lbl_t = lbl_t+lbl_t;
String lbl = String.valueOf(lbl_t);
txt_total.setText(lbl);
}
}); // Este codigo funciona
y este es el que estoy usando para mostrar los datos de la base de datos al dar enter o tab
tb_factura.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e){
if(e.getKeyCode()== KeyEvent.VK_ENTER||e.getKeyCode()== KeyEvent.VK_TAB){
int fila = tb_factura.getEditingRow();
int columna = tb_factura.getEditingColumn();
int cantidad;
String getcantidad;
if ((fila > -1) && (columna > -1)/*e.KEY_PRESSED == e.VK_ENTER || e.KEY_PRESSED == e.VK_TAB*/){
System.out.println(tb_factura.getValueAt(fila,1));
String a = (String)tb_factura.getValueAt(fila,1);
getcantidad = (String) tb_factura.getValueAt(fila,8);
cantidad = Integer.valueOf(getcantidad);
/*Variables para almacenar resultado de consulta*/
double pvp;
String serial;
String tipo;
String marca;
String modelo;
String descripcion;
/*Establecer en tabla datos*/
serial = transacciones.llenarfacturaserial(a);
tb_factura.setValueAt(serial,fila, 2);
tipo = transacciones.llenarfacturatipo(a);
tb_factura.setValueAt(tipo,fila, 3);
marca = transacciones.llenarfacturamarca(a);
tb_factura.setValueAt(marca,fila, 4);
modelo = transacciones.llenarfacturamodelo(a);
tb_factura.setValueAt(modelo,fila, 5);
descripcion = transacciones.llenarfacturadescripcion(a);
tb_factura.setValueAt(descripcion,fila, 6);
pvp = transacciones.llenarfacturapvp(a);
tb_factura.setValueAt(pvp,fila, 7);
/*Calculo del precio total*/
tb_factura.setValueAt(pvp*cantidad,fila, 9);
}
}}});