我认为这不是一个很难的问题,但我无法理解它。基本上它可以归结为:
我有一个TableView,其中填充了模型类Foo:
中的对象class Foo {
private StringProperty textColA;
private StringProperty textColB1;
private StringProperty textColB2;
// Getters, setters and properties left away
}
第一列只是从textColA
StringProperty获取数据。另一方面,B列需要textColB1
和textColB2
的数据。是否有可能创建包含这两个属性的某种属性?
答案 0 :(得分:3)
不确定。例如,要生成两个字符串之间的空格的连接,请执行
TableColumn<Foo, String> someColumn = new TableColumn<>("Column");
someColumn.setCellValueFactory(cellData -> Bindings.createStringBinding(() ->
cellData.getValue().getTextColB1() + " " + cellData.getValue().getTextColB2(),
cellData.textColB1Property(), cellData.textColB2Property()));
(更简单地说,在这种特殊情况下,你可以做到
someColumn.setCellValueFactory(cellData ->
cellData.getValue().textColB1Property().concat(" ")
.concat(cellData.getValue().textColB2Property());
但更通用的形式适用于两个属性的任意函数。)