miércoles, 20 de julio de 2011

Tablas en JavaFX 2

En el nuevo JavaFX, existe un componente "oculto" muy interesante. Y digo oculto porque no se menciona su existencia en los tutoriales de la página principal del proyecto, aunque lógicamente sí que podemos encontrar toda la información necesaria en el api. Se trata del TableView.

Como era de esperar, lo que podemos hacer con este componente es mostrar tablas en nuestra aplicación. Su funcionamiento es muy similar al de ListView, pero tiene la ventaja de que permite trabajar con columnas. El caso de uso típico será aquél en que queramos mostrar una tabla donde cada fila contenga, separados en columnas, los atributos de un objeto. 

Si partimos del ejemplo que ya vimos en uso de CellFactory en JavaFX 2, en ese caso definimos un CellFactory para mostrar en cada fila del ListView el nombre y apellidos de una Persona. Como alternativa, con TableView podríamos mostrar cada campo en una columna distinta.


Al igual que ya hicimos trabajando con ListView, podemos definir un CellFactory, en este caso a nivel de columna, en el que indiquemos cómo deben ser presentadas. Por ejemplo, podemos definir la columna para el nombre como una columna de Persona, en lugar de como una de String.


Y ahora, podemos definir el CellFactory para mostrar en la columna el nombre de la persona, con un color dependiente de su edad.


He aquí el resultado.





1 comentario:

  1. The code line setNode(text) do not compile anymore with the new builds of javaFX 2.0 .
    Any idea How to fix it ?

    ResponderEliminar

Cualquier aportación será bienvenida