JavaFX:一个TableColumn中有两个值

bra*_*k11 1 java lambda javafx tableview

我有追随者http://code.makery.ch/library/javafx-8-tutorial/part2/,并且在TableColumn中使用lambdas进行了代码设置:

firstNameColumn.setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
lastNameColumn.setCellValueFactory(cellData -> cellData.getValue().lastNameProperty());
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的回答。

fab*_*ian 5

这可以通过创建一个StringBinding依赖于姓氏和名字的方法来完成:

fullNameColumn.setCellValueFactory(cellData -> Bindings.createStringBinding(
    () -> cellData.getValue().getLastName() + ", " + cellData.getValue().getFirstName(),
    cellData.getValue().firstNameProperty(),
    cellData.getValue().lastNameProperty()
));
Run Code Online (Sandbox Code Playgroud)