< prev index next >

modules/javafx.controls/src/main/java/javafx/scene/control/cell/TextFieldListCell.java

Print this page
rev 10463 : 8089514: [TableView, TreeView, ListView, TreeTableView] Clicking outside of the edited cell, node, or entry should commit the value

*** 33,42 **** --- 33,44 ---- import javafx.scene.control.TextField; import javafx.util.Callback; import javafx.util.StringConverter; import javafx.util.converter.DefaultStringConverter; + import java.util.Optional; + /** * A class containing a {@link ListCell} implementation that draws a * {@link TextField} node inside the cell. * * <p>By default, the TextFieldListCell is rendered as a {@link Label} when not
*** 169,178 **** --- 171,181 ---- public final StringConverter<T> getConverter() { return converterProperty().get(); } + /*************************************************************************** * * * Public API * * * **************************************************************************/
*** 202,207 **** --- 205,216 ---- /** {@inheritDoc} */ @Override public void updateItem(T item, boolean empty) { super.updateItem(item, empty); CellUtils.updateItem(this, getConverter(), null, null, textField); } + + /** {@inheritDoc} */ + @Override protected Optional<T> getEditorValue() { + StringConverter<T> converter = getConverter(); + return converter == null ? Optional.empty() : Optional.of(converter.fromString(textField.getText())); + } }
< prev index next >