I am using JavaFx 2.0 and Java 7. The question is regarding Table View in JavaFX.
The below sample code creates a firstName column and assigns cell factory and cell
Straightforwardly,
Cell Value Factory : it is like a "toString()" of only part of the row item for that related cell.
Cell Factory : it is a renderer of the cell from the cell item. Default behavior is setText(cell.item.toString()) if the cell item is not a Node, setGraphic((Node)cell.item) otherwise. Set this property if the cell is supposed to support editing OR if you want more graphics (controls) other than default Label.
So for your scenario, leaving cell factory with default value will be sufficient (2). And here is sample code for (1):
firstAndLastNameCol.setCellValueFactory(new Callback, ObservableValue>() {
@Override
public ObservableValue call(TableColumn.CellDataFeatures p) {
if (p.getValue() != null) {
return new SimpleStringProperty(p.getValue().getPrefix() + " " + p.getValue().getFirstName() + "," + p.getValue().getLastName());
} else {
return new SimpleStringProperty("");
}
}
});