Я просматривал здесь на StackOverflow решение проблемы: по сути, я хочу, чтобы TextField ограничивал ввод данных пользователем только числовыми значениями / целыми числами.Я нашел ответ, в котором упоминается слушатель:
public class CubeController {
public Label areaCube, volumeCube;
public TextField insertValue;
public void checkValue(){
insertValue.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d{0,7}([\\.]\\d{0,4})?")) {
insertValue.setText(oldValue);
}
}
});}
}
Я пытался реализовать его в TextField, но безуспешно.(Инициализировано в файле FXML) Что такое слушатель и почему он не влияет на мой TextField?Спасибо всем.
<TextField onAction="#checkValue" fx:id="insertValue" layoutX="269.0" layoutY="178.0" promptText="Insert edge measure" />