30 marzo 2006

Extensiones de los JTable

El JTable de java es el que es y ofrece lo que ofrece, sin embargo, a veces se queda un poco pequeño o queremos alguna funcionalidad que no implementa.

Por ejemplo, suele ser habitual querer ordenar por columnas haciendo click con el ratón en la cabecera de la columna, o bien filtrar de forma que sólo se vean las filas que cumplen ciertas condiciones, pero sin necesidad de borrarlas. A veces también nos gustaría que la primera columna fuera un árbol, de forma que al contraer y expandir nodos, desaparecieran y aparecieran las filas completas de la tabla, junto con el nodo. Es lo que se conoce como TreeTable

En los tutoriales de sun tenemos clases de ejemplo que hacen todas estas cosas. También hay gente que ha hecho y publicado clases para hacer estas cosas. Una solución muy socorrida es bajarse estas clases de ejemplo de sun o de otra gente y usarlas:
  • Para ordenar, tenemos el ejemplo de TableSorter de sun
  • Para filtrar, tenemos un TableFilter que no es de sun. Esta gente también tiene un TableSorter, además de otro montón de cosas.
  • Para el TreeTable, tenemos el JTreeTable de sun.
Como esta necesidad es bastante habitual, hay gente que ha hecho liberías que nos ofrecen todas estas funcionalidades.

Por un lado tenemos las glazedlists, que son gratuitas. Por otro, tenemos otra que es de pago. Y estas son simplemente con las que me he tropezado sin buscarlas. Seguro que una busqueda más en serio ofrece muchos más resultados.

No hay comentarios: