Установка верхней границы для числа в JFormatterTextfield в Java - PullRequest
2 голосов
/ 03 марта 2010

Я хочу установить верхнюю границу для числа в текстовом поле форматера. Допустим, есть строка следующего формата:

036 12 '23,67 "

Первое число должно быть меньше 180, поэтому, когда пользователь пытается набрать число больше 180, оно должно быть замаскировано. Я использовал MaskFormatter для форматирования строки, как указано выше, но я не мог установить верхнюю границу для первого числа. Как я могу этого добиться. Спасибо.

1 Ответ

1 голос
/ 03 марта 2010

Я не знаю, как сделать это напрямую с JFormattedTextField.

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

Другой подход заключается в добавлении DocumentFilter к AbstractDocument. Затем вы можете редактировать текст, прежде чем он будет добавлен в документ. Прочтите раздел из учебника по Swing по Особенности текстовых компонентов для получения дополнительной информации.

...