#java #validation #swing #jtextfield
#java #проверка #swing #jtextfield
Вопрос:
Как я могу проверить входные данные в JTextField? Если я хочу это в ff: 1. Целое число 2. Содержит только 0-12
Например, для допустимых входных данных (час и минута), Час = 12 минут = 30
Пример неверного ввода (час и минута), Час != 14 минутам != 78
Ответ №1:
JTextField предоставляет несколько событий, связанных с событием «потерянный фокус». Затем, когда пользователи начинают вводить где-то еще, запускается событие, которое вызывает ваш метод, который может выполнить эти проверки за вас. (Просто попробуйте разобрать строку до целого числа, затем выполните проверки >0 < 12 и т.д. …).
Ответ №2:
Используйте JFormattedTextField. Вы можете указать желаемый формат, например, NumberFormat или DateFormat для поля, и вводимые пользователем данные будут проверены автоматически.
Ответ №3:
Это не настоящий ответ на исходный вопрос, но вы можете рассмотреть возможность использования JSpinner
вместо JTextField
в вашем случае.
В противном случае, если вы хотите сохранить JTextField
, то вам следует использовать DocumentListener
, чтобы пользователь не вводил неверный ввод.