Cargar datos de un objeto a una TableView en IntelliJ usando JavaFX

Tiempo de lectura: 3 minutos

Empezamos creando el diseño de la ventana de la aplicación, dónde se debe añadir un elemento TableView. A este elemento, le damos un id propio, en este caso lo llamaré tablaAplicaciones, quedando la ventana de la siguiente manera:

A continuación, para poder visualizar los datos en la tabla, vamos a crear un objeto Model con los campos correspondientes a las columnas de la tabla.

En este caso, el objeto se va a llamar objetoModel. Los tipos que se deben declarar para sus atributos dentro de la clase, si es un número va a ser de tipo IntegerProperty , mientras que si es texto o String lo declaramos de tipo StringProperty.

Después, creamos su constructor pasándolo de tipo String o Integer, para luego crear un objeto y transformarlo, dependiendo el tipo de dato que vaya a recibir, en SimpleIntegerProperty (si es un número entero) o bien, SimpleStringProperty (si es una cadena de caracteres o texto).

También añadimos los métodos getter y setter poniendo delante de la clase ( @Data ), usando así, lombok para reducir código.

Muestro el ejemplo a continuación:

Ahora dentro de la clase que tenemos que generar junto con la vista a la que hace referencia, asociamos el elemento TableView y lo declaramos junto con las columnas de la tabla como muestro a continuación.

La tabla la ponemos del tipo de la clase que hemos creado anteriormente; es decir, ObjetoModel.

Para las columnas de la tabla, hay que establecer dos tipos, primero la clase de donde viene el dato que vamos a recibir, y después el tipo de dato, quedando como la imagen de abajo:

Para rellenar la tabla, simplemente tenemos que instanciar varios objetos de la clase creada anteriormente (ObjetoModel), con los datos que queremos mostrar en la tabla y también creamos un ObservableList:

Solo queda pasar los datos de la lista listaApps al objetoModelObservableList, he ir asignando a las columnas con sus correspondientes get, los datos almacenados en el objetoModelObservablelist de la siguiente manera:

Una vez recogido los datos, ya se muestran en la TableView cuando se ejecute o arranque la aplicación.

Comprobamos el resultado siguiendo los pasos anteriores:

Espero que les sirva de ayuda, saludos !!

Deja un comentario