Marcar una fila de un jTableMarking a row in a JTable
La 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.
Comments (16)
andres moreno
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
grax!, si me sirvió
andrea
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
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
Eres un genio, era lo que le faltaba a mi proyecto.Gracias
Elvis Huacachi
Gracias, me sirvio mucho....
Carlos
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
Muchas gracias, me sirvio!
Adair Ace
Muy bueno, me sirvió para mi proyecto software....Gracias
carlos pereira
muy bien amigo! gracias por compartir su conocimiento, le felicito, me sirvió
Eduardo
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
Excelente! Gracias amigo..
Cristian
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
Exelente Tutorial, Gracias me ayudo mucho, saludos desde Ecuador.
Rogelio
Excelente linea de codigo muchísimas gracias por tu ayuda
Tavuu
tabla.changeSelection(i, 0, false, false);