Объедините ответ JB Nizet с проверкой в ваших компонентах, например, используя JFormattedTextField
(или расширенную версию этого). Вы можете использовать JFormattedTextField
также в качестве редактора для JComboBox
экземпляров. Вы можете добавить проверку к JSlider
экземплярам.
Короче говоря, предоставляйте немедленную обратную связь пользователю, когда он вводит недопустимое значение. Это в сочетании с проверкой на стороне модели делает хорошее применение.
Это можно сравнить с современным веб-сайтом: проверка на стороне клиента с использованием javascript для немедленной обратной связи с пользователем + проверка на стороне сервера для проверки, которая не проходит через пользовательский интерфейс, или чтобы избежать отвратительных пользователей, обходящих проверку на стороне клиента