将person.city.name添加到TableView

我有一个TableView和一些POJO,并希望与其中一个属性绑定到TableView。

但是,此属性也是一个POJO,这应该在TableView中显示一个属性。

这是我的代码:

                             ` 

还有我的PersonaDeuda课程:

 public class Persona { private Integer id; private Integer archivo; private String Nombres; private List recibos; private Deuda deuda; } public class Deuda { private Date fecha; private BigDecimal saldo; private BigDecimal nuevo; private BigDecimal descuento; } 

我想在fxml文件中设置Person.deuda.saldo,所以我使用了:

         

但这不会在我的TableView中呈现任何内容。 我怎样才能解决这个问题?

您无法使用PropertyValueFactory执行此操作:您需要直接实现Callback

在表列上放置一个fx:id="actualColumn" ,将列注入控制器

 @FXML private TableColumn actualColumn ; 

并在您的控制器的initialize()方法中,执行:

 actualColumn.setCellValueFactory(cellData -> new ReadOnlyObjectWrapper(cellData.getValue().getDeuda().getSaldo()));