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

Problema que parece sencillo con jTable

Estas en el tema de Problema que parece sencillo con jTable en el foro de Java en Foros del Web. Saludos a todos soy nuevo en el foro. Agradecería mucho a aquel que pueda ayudarme. No hallo la solución de un problema que parece sencillo ...
  #1 (permalink)  
Antiguo 22/06/2012, 09:35
 
Fecha de Ingreso: junio-2012
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Problema que parece sencillo con jTable

Saludos a todos soy nuevo en el foro.
Agradecería mucho a aquel que pueda ayudarme.
No hallo la solución de un problema que parece sencillo .

El problema es que tengo una jTable y al dar clic sobre ella simplemente tomo la fila el indice de la fila seleccionada y la escribo en un label.

Hasta alli todo perfecto y funcionando. La dificultad surge cuando uso las teclas de navegacion. Pues me da la fila seleccionada anterior. Es como si antes de marcar como seleccionada una fila en la tabla realizara la accion que yo determiné en el evento. En el evento KEYPRESSED de mi jtable puse:

Código:
private void tablaKeyPressed(java.awt.event.KeyEvent evt) {
       // 38 y 40 son los codigos de las teclas de arriba y abajo del teclado    
   
       if (evt.getKeyCode() == 38 || evt.getKeyCode() == 40) {                
            label.setText(tabla.getSelectedRow)
       } 
                                        
}
  #2 (permalink)  
Antiguo 23/06/2012, 00:48
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Problema que parece sencillo con jTable

Hola:

Cuando se pulsa una tecla saltan varios eventos: key_pressed, key_released y key_typed. Habría que ver en cual de ellos ya se ha realizado el cambio en la selección de la tabla.

Otra forma más directa que no te obliga a hacer dos listener (teclado y ratón) es usar el table.getSelectionModel(). Eso te devuelve un ListSelectionModel al que puedes añadir listeners y enterarte cuando hay cambios de selección (independientemente de si los provoca teclado, ratón o código setSelection...)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 23/06/2012, 02:24
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Problema que parece sencillo con jTable

simple, el nombre del listener te lo dice "pressed".
Si estás en una fila, al presionar (pressed) alguna fecha, la selectedrow sigue siendo la misma DESDE donde se disparó el evento y en todo caso lo que te interesaría es la Released.
EJ: estás en la row 20, PRESIONAS la flecha hacia abajo y vas hasta la 30, el evento pressed va ser captura (instanciado) cuando se apretó la tecla y no cuando levantaste (released) el dedo de ella; Pressed > selectedRow = 20 y Released > selectedRow = 30.
__________________
BadProgrammerException!

Última edición por FiruzzZ; 24/06/2012 a las 12:34

Etiquetas: jtable
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:36.