I have a custom field (my own formatted field done in JavaFX 2.2) bound to
a property of the selected row in a TableView. My control commits an edit
on focus lost.

This works on JavaFX 2.2 but fails on JavaFX 8.  After a bit of debugging I
discovered why. The way to reproduce the problem was to type something into
the field and then select a different row in the table.   With JavaFX 2.2
the edit is committed and then the control is populated with the data from
the new selection.  With JavaFX 8, the selection change event happens prior
to the focus lost event, so my control's data is replaced without being
committed.

This smells like a rather serious bug in JavaFX 8.  The TableView selection
should not change as the result of a mouse click prior to the TableView
getting the focus (and thus my control losing the focus and committing the
edit to the selected item before the selection changes).

Do you agree that this is broken behavior?
Do you have an idea of how to work around it?

Regards,

Scott

Reply via email to