--- old/modules/javafx.controls/src/main/java/javafx/scene/control/cell/TextFieldTableCell.java 2017-05-05 11:00:53.000000000 +1200 +++ new/modules/javafx.controls/src/main/java/javafx/scene/control/cell/TextFieldTableCell.java 2017-05-05 11:00:53.000000000 +1200 @@ -32,6 +32,8 @@ import javafx.util.StringConverter; import javafx.util.converter.DefaultStringConverter; +import java.util.Optional; + /** * A class containing a {@link TableCell} implementation that draws a * {@link TextField} node inside the cell. @@ -88,7 +90,7 @@ */ public static Callback, TableCell> forTableColumn( final StringConverter converter) { - return list -> new TextFieldTableCell(converter); + return list -> new TextFieldTableCell<>(converter); } @@ -210,4 +212,10 @@ super.updateItem(item, empty); CellUtils.updateItem(this, getConverter(), null, null, textField); } + + /** {@inheritDoc} */ + @Override protected Optional getEditorValue() { + StringConverter converter = getConverter(); + return converter == null ? Optional.empty() : Optional.of(converter.fromString(textField.getText())); + } }