--- old/modules/javafx.controls/src/main/java/javafx/scene/control/cell/TextFieldTreeTableCell.java 2017-05-05 11:00:55.000000000 +1200 +++ new/modules/javafx.controls/src/main/java/javafx/scene/control/cell/TextFieldTreeTableCell.java 2017-05-05 11:00:55.000000000 +1200 @@ -34,6 +34,8 @@ import javafx.util.StringConverter; import javafx.util.converter.DefaultStringConverter; +import java.util.Optional; + /** * A class containing a {@link javafx.scene.control.TableCell} implementation that draws a * {@link TextField} node inside the cell. @@ -90,7 +92,7 @@ */ public static Callback, TreeTableCell> forTreeTableColumn( final StringConverter converter) { - return list -> new TextFieldTreeTableCell(converter); + return list -> new TextFieldTreeTableCell<>(converter); } @@ -149,7 +151,7 @@ // --- converter private ObjectProperty> converter = - new SimpleObjectProperty>(this, "converter"); + new SimpleObjectProperty<>(this, "converter"); /** * The {@link StringConverter} property. @@ -212,4 +214,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())); + } }