Проверка входного целого числа

#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 , чтобы пользователь не вводил неверный ввод.