Кажется, что элемент управления Spinner не обновляет введенное вручную значение, пока пользователь явно не нажат на ввод. Таким образом, они могут ввести значение (не нажать enter) выйти из элемента управления и отправить форму, а значение, отображаемое в счетчике, НЕ является значением Spinner, это старое значение.
Моя идея состояла в том, чтобы добавить слушателя к событию потерянного фокуса, но я не вижу способа получить доступ к введенному значению?
spinner.focusedProperty().addListener((observable, oldValue, newValue) ->
{
//if focus lost
if(!newValue)
{
//somehow get the text the user typed in?
}
});
Это странное поведение, похоже, противоречит соглашению управления счетчиками GUI.