mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-11 13:38:23 +02:00
When pressing enter leave the editing mode and commit the new value.
Also reset the value when cancel the edit mode.
This commit is contained in:
@@ -65,8 +65,8 @@ public class EditableValidationCell extends TableCell<CSVRow, CSVValue> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cancelEdit() {
|
public void cancelEdit() {
|
||||||
super.cancelEdit();
|
|
||||||
setText(getItem().getValue());
|
setText(getItem().getValue());
|
||||||
|
super.cancelEdit();
|
||||||
setContentDisplay(ContentDisplay.TEXT_ONLY);
|
setContentDisplay(ContentDisplay.TEXT_ONLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,16 +113,11 @@ public class EditableValidationCell extends TableCell<CSVRow, CSVValue> {
|
|||||||
textField.setMinWidth(this.getWidth() - this.getGraphicTextGap() * 2);
|
textField.setMinWidth(this.getWidth() - this.getGraphicTextGap() * 2);
|
||||||
textField.setOnKeyPressed(t -> {
|
textField.setOnKeyPressed(t -> {
|
||||||
if (t.getCode() == KeyCode.ENTER) {
|
if (t.getCode() == KeyCode.ENTER) {
|
||||||
commitEdit(textField.getValue());
|
runLater(() -> commitEdit(textField.getValue()));
|
||||||
} else if (t.getCode() == KeyCode.ESCAPE) {
|
} else if (t.getCode() == KeyCode.ESCAPE) {
|
||||||
cancelEdit();
|
cancelEdit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
textField.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
||||||
if (!newValue && textField != null) {
|
|
||||||
commitEdit(textField.getValue());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ValueTextField extends TextField {
|
private static class ValueTextField extends TextField {
|
||||||
|
|||||||
Reference in New Issue
Block a user