JavaFX:一个TableColumn中的两个值

时间:2017-03-03 14:36:02

标签: java javafx lambda tableview

我有关注者http://code.makery.ch/library/javafx-8-tutorial/part2/并且使用lambdas在TableColumn中有一个代码设置值:

firstNameColumn.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
lastNameColumn.setCellValueFactory(cellData -> cellData.getValue().lastNameProperty());

但是,如果我有一列fullName并希望将firstNameColumn和lastNameColumn合并为一个fullName,该怎么办?

谢谢你的回答。

2 个答案:

答案 0 :(得分:5)

这可以通过创建一个取决于名字和姓氏的StringBinding来完成:

fullNameColumn.setCellValueFactory(cellData -> Bindings.createStringBinding(
    () -> cellData.getValue().getLastName() + ", " + cellData.getValue().getFirstName(),
    cellData.getValue().firstNameProperty(),
    cellData.getValue().lastNameProperty()
));

答案 1 :(得分:0)

愚蠢的代码有效:

fullNameColumn.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty() + " " + cellData.getValue().lastNameProperty());