26 Ago

Marcar una fila de un jTableMarking a row in a JTable

Captura de pantalla de las propiedades de un jTable desde NetbeansLa entrada de hoy va a ser más concreta y técnica que de costumbre. Viene motivada por un proyecto Java con cierta complejidad que estamos acabando y donde muchas de las cosas que hemos programado no tienen documentación (por lo menos en español).

Al grano. Si queremos obtener cual es la fila (row) seleccionada en un jTable de Java utilizamos la función jTable.getSelectedRow() que nos devuelve un entero con la fila seleccionada:

int numFilaSeleccionada=miJTable.getSelectedRow();

Si lo que queremos, es hacer la operación inversa; marcar o seleccionar una fila desde código, es muy tentador hacer (sí, nosotros también lo hemos intentado)

miJTable.getSelectedRow(intFilaSeleccion); //ojo, que esto no funciona

Pero no podía ser tan fácil, la manera correcta de hacerlo es con el modelo de tabla (que aunque no lo hayamos especificado siempre existe uno por omisión):

miJTable.getSelectionModel().setSelectionInterval(intPrimeraFila,intUltimaFila);

De este modo, podemos seleccionar todo el intervalo de filas que necesitemos.

Comparte

Comentarios (16)

andres moreno
13 octubre, 2011 Responder

como hago para al precionar enter corra el focus hacia al lado y no de arriba para abajo ... quiero que haga lo mismo q hace el tab pero con el entrer o intro ......

Sam
10 octubre, 2012 Responder

grax!, si me sirvió

andrea
19 octubre, 2012 Responder

Hola.... he buscado por todas partes como ver el listado de todas las filas que han sido seleccionadas en unJtable pero siempre consigo el mismo resultado... la ultima fila seleccionada... he probado con getSelectRow y getSelectRows y los dos me muestran lo mismo.... me podrías ayudar....

Anonimo 2
30 enero, 2013 Responder

gracias, la verdad es que ami si me ayudo y no pones tanta basura como en otros foros que te ponen un chorizote para llegar a nada gracias y ojala pongas mas codigo como este.

Anonimo
29 abril, 2013 Responder

Eres un genio, era lo que le faltaba a mi proyecto.Gracias

Elvis Huacachi
16 agosto, 2013 Responder

Gracias, me sirvio mucho....

Carlos
9 febrero, 2014 Responder

Tengo un jTabla de 5 columnas con celdas no editables. Cuando cuadriculé la tabla y le puse color de fondo tanto al titulo como a los datos, se perdió el foco que usaba para desplazarme verticalmente por las filas. Como volver a tener el FOCO en la primera fila y poder moverlo en forma vertical con las teclas de flechas hacia arriba y abajo.

Lucas
31 julio, 2014 Responder

Muchas gracias, me sirvio!

Adair Ace
3 diciembre, 2014 Responder

Muy bueno, me sirvió para mi proyecto software....Gracias

carlos pereira
26 diciembre, 2014 Responder

muy bien amigo! gracias por compartir su conocimiento, le felicito, me sirvió

Eduardo
29 julio, 2015 Responder

Muchas gracias amigo, esto no es algo que te encuentras en un tutorial, despues de haber intentado hacer esto miJTable.getSelectedRow(intFilaSeleccion);
me ha servido

canorioss
22 diciembre, 2015 Responder

Excelente! Gracias amigo..

Cristian
4 julio, 2017 Responder

Buenas a mi me sirvio pero tengo una duda no pasa de la segunda fila el intervalo, quiero decir pasa de la posicion 0 a la 1 pero de la 1 a la 2 no. que debo hacer.

Danilo
28 febrero, 2018 Responder

Exelente Tutorial, Gracias me ayudo mucho, saludos desde Ecuador.

Rogelio
29 noviembre, 2019 Responder

Excelente linea de codigo muchísimas gracias por tu ayuda

Tavuu
13 junio, 2020 Responder

tabla.changeSelection(i, 0, false, false);

Responder