JavaFX 使用带有 org.neo4j.graphdb.Label 名称的 setCellValueFactory

JavaFX using setCellValueFactory with org.neo4j.graphdb.Label name

我想用 Neo4j 标签名称填充 TableView。 http://neo4j.com/api_docs/2.0.0/org/neo4j/graphdb/Label.html 不幸的是,该名称不能作为 属性 访问,而是作为一种方法访问。 需要修改PropertyValueFactor 以何种方式调用name 方法?

到目前为止我得到了什么:

public ObservableList<Label> getLabels(long pNodeId){
    NodeLabelsDA nl = new NodeLabelsDA();
    return FXCollections.observableArrayList(nl.getLabels(pNodeId));
}

public void handleSelectedNode(long pNodeId){
    System.out.println("Node select: " + pNodeId);
    tblLabels.setItems(getLabels(pNodeId));
    tcLabelName.setCellValueFactory(
            new PropertyValueFactory<Label, String>("name"));

}

我需要的:

public void handleSelectedNode(long pNodeId){
    System.out.println("Node select: " + pNodeId);
    tblLabels.setItems(getLabels(pNodeId));
    tcLabelName.setCellValueFactory(
            ???? new MethodValueFactory<Label, String>(Label x -> x.name)); ???

}

非常感谢和最诚挚的问候!

只需提供一个Callback实现:

tcLabelName.setCellValueFactory((CellDataFeatures<Label, String> cellData) -> 
    new ReadOnlyStringWrapper(cellData.getValue().name()));