¿Cómo usar el PropertyValueFactory correctamente?

Estoy tratando de hacer una tabla con un TableView y llenarlo programáticamente en base a una lista deUser objetos. losUser tiene tres variables,nameProperty (Cuerda),rankProperty (Enum llamado Rango), ynetMeritsProperty (En t). Estos son todos almacenados enSimpleStringProperty objetos. Mi problema es que los datos no aparecerán en la tabla real, como se muestra aquí:

Aquí está mi código para la mesa. ¿Qué es lo que no entiendo?

TableColumn<User, String> name = new TableColumn<>("Name");
name.setCellValueFactory(new PropertyValueFactory<User, String>("nameProperty"));

TableColumn<User, String> rank = new TableColumn<>("Rank");
rank.setCellValueFactory(new PropertyValueFactory<User, String>("rankProperty"));

TableColumn<User, String> netMerits = new TableColumn<>("Net Merits");
netMerits.setCellValueFactory(new PropertyValueFactory<User, String>("netMeritsProperty"));

userTable.getColumns().addAll(name, rank, netMerits);

Respuestas a la pregunta(2)

Su respuesta a la pregunta