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

Jtable key listener

Estas en el tema de Jtable key listener en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/07/2009, 13:33
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Jtable key listener

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);
}
}}});
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 12:51.