В Swing используйте InputVerifier для проверки даты и времени - PullRequest
1 голос
/ 21 апреля 2009

В настоящее время я работаю над приложением Swing, и у меня есть несколько JTextAreas, которые будут проанализированы, преобразованы в даты и затем добавлены в базу данных MySQL. Одно поле Date, остальные DateTime, я пытаюсь использовать InputVerifier, чтобы убедиться, что они введены правильно.

Я создал InputVerifier, который пытается преобразовать текст в дату, используя DateFormat.parse (), и это в основном работает, однако есть два недостатка: Во-первых, он не может проверить, есть ли у меня только Дата, а не дата и время. Во-вторых, он не может проверить, есть ли у меня дата и время, а не только одна из них.

Есть ли способ обойти это? Или лучший способ проверки полей даты в Swing, о котором я не знаю?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2009

Swing поддерживает ввод дат в текстовые поля, используя JFormattedTextField с DateFormatter . С DateFormatter вы можете указать объект DateFormat, чтобы иметь либо поле только с датой, либо поле даты и времени.

Посмотрите Как использовать поля форматированного текста в учебном руководстве по Swing.

1 голос
/ 22 апреля 2009

Просто мысль: вы можете рассмотреть возможность использования SpinnerDateModel с JSpinner вместо текстового поля. Может быть, вы могли бы обработать поле только для даты, вызвав setCalendarField (Calendar.DAY) - однако никогда не делал это сам, поэтому я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...