Я хочу показать диалоговое окно предупреждения, когда значение свойства счетчика изменяется. Поэтому я добавил ChangeListener в свой valueProperty:
this.spinnerColumns.setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory(2,20));
this.spinnerColumns.getValueFactory().valueProperty().addListener((observable, oldValue, newValue) -> {
if(oldValue > newValue) {
// Ask for permission
System.out.println("Ask for permission");
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setTitle("Error");
alert.setHeaderText("Ask something...");
alert.showAndWait();
if(alert.getResult() == ButtonType.OK) {
// do something
}
}
});
Этот код работает неправильно. Когда отображается предупреждение, счетчик продолжает уменьшать свое значение, пока не будет достигнуто минимальное значение. Некоторые предложения, как это сделать?