Archived
0

implement cancel edit on Esc key pressed

This commit is contained in:
iMoHax
2014-08-08 12:25:01 +04:00
parent 350f85ab9a
commit 48a81522e0

View File

@@ -6,6 +6,7 @@ import javafx.geometry.Point2D;
import javafx.geometry.Pos;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.scene.input.KeyCode;
import javafx.util.converter.NumberStringConverter;
import java.text.DecimalFormat;
@@ -73,12 +74,22 @@ public class NumberField extends TextField {
setTooltip(null);
}
});
setOnKeyPressed((e) -> {
if (e.getCode().equals(KeyCode.ESCAPE)) {
editCancel();
e.consume();
}
});
setOnAction((e) -> parseNumber());
focusedProperty().addListener((ob, o, n) -> {if (o) parseNumber();});
setAlignment(Pos.BASELINE_RIGHT);
}
private void editCancel() {
setText(converter.toString(getValue()));
getParent().requestFocus();
}
private void parseNumber(){
String text = getText();
if (text == null || text.isEmpty()) {