JavaFX使用setCellValueFactory和org.neo4j.graphdb.Label名称

时间:2015-01-27 16:44:08

标签: javafx

我想用一个名为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)); ???

}

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

1 个答案:

答案 0 :(得分:0)

只需提供Callback实施:

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