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()));
我想用 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()));