¿Cómo se utiliza una TableView de JavaFX con registros de java?
Los registros de Java son una nueva característica en Java15. Supongamos que tienes un registro como este.
Esta es una clase final. Genera automáticamente los métodos de obtención first(), last(), y age().
Ahora aquí está un TableView en JavaFX.
El problema está aquí.
La TableView está esperando métodos con nombres getFirst, getLast y getAge para hacer su trabajo. ¿Hay una solución alternativa además de hacer esto horrible?
davy.ai
Sí, hay un método alternativo para este problema. En lugar de agregar los métodos getter al registro, podemos usar la anotación
@JsonProperty
de la biblioteca Jackson para especificar nombres alternativos para el componente del registro. Así es como podemos modificar el registroPerson
:Con esta modificación, las columnas de la tabla
lastColumn
,firstColumn
yageColumn
pueden definirse de la siguiente manera:Observe que el constructor
PropertyValueFactory
toma un argumento de cadena que corresponde al nombre alternativo especificado con la anotación@JsonProperty
. De esta manera, podemos evitar agregar métodos getter innecesarios a la clase de registro.</person,></person,></person,>