Самый простой способ написать MouseClicked Event для нескольких TextFields в JavaFX - PullRequest
0 голосов
/ 12 декабря 2018

Я пишу программу с использованием JavaFX, и в настоящее время у меня есть три TextFields.Когда вы нажимаете ввод, когда любое из текстовых полей находится в фокусе, появляется EventHandler, который вызывает соответствующий метод для каждого поля.Нет кнопки отправки, потому что я хочу, чтобы она отправляла каждый вход отдельно (именно так я и сделал остальную часть программы), чтобы он был проверен и возвращал строку, содержащую все ошибки во входе.Если ввод пользователя недействителен, он сбрасывает его к последнему действительному значению, которое он имел.

Однако при тестировании я обнаружил, что иногда я просто щелкаю где-то еще (например, в следующем поле), а не нажимаю клавишу ввода, поэтому я хотел реализовать ту же функцию, что и нажатие клавиши ввода, но когда пользователь щелкает за пределами поля,В корне есть событие MouseClicked, которое я пытался заставить отправлять ввод для всех полей одновременно, что работает, но если какое-либо поле не было заполнено, то оно будет неудачным ивернуть сообщение об ошибке (которое может запутать пользователя).

Кроме того, если пользователь снова щелкает внутри TextField, скажем, чтобы удалить что-то из середины слова, событие будет вызвано, и поле будетсброс к последнему действительному значению, если текущий ввод был недействительным.

Я рассмотрел использование события MouseExited для каждого поля, но я думаю, что это может быть вызвано курсором, покидающим поле, а не щелчком снаружиполя.

Что было бы хорошим способом сделать это, минимизируя при этом количество методов обработки событий в моей программе?

...