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:
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)
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):
1 | miJTable.getSelectionModel().setSelectionInterval(intPrimeraFila,intUltimaFila); |
De este modo, podemos seleccionar todo el intervalo de filas que necesitemos.
5 comentarios
andres moreno escribió:
13 octubre, 2011, a las 9:15 (UTC 1)
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 escribió:
10 octubre, 2012, a las 20:11 (UTC 1)
grax!, si me sirvió
andrea escribió:
19 octubre, 2012, a las 19:30 (UTC 1)
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 escribió:
30 enero, 2013, a las 17:11 (UTC 1)
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 escribió:
29 abril, 2013, a las 18:57 (UTC 1)
Eres un genio, era lo que le faltaba a mi proyecto.Gracias