РЕДАКТИРОВАТЬ: Поскольку термин «значение по умолчанию» сбивает с толку, я изменил его на « начальное значение.»
Это довольно интересный вопрос. Я искал ответ на сайте, но не нашел его.
Я пишу класс валидатора на Java, и я хотел бы проверить, есть ли у JComboBox начальное значение.
Обратите внимание, что я не проверяю, выбрал ли пользователь значение; просто если значение, которое выбрал пользователь, совпадает с начальным значением.
Например, допустим, есть следующие варианты:
Some Message Here
Item 1
Item 2
Item 3
... и т.д.. Текст «Some Message Here» будет исходным значением, и я бы сделал это, используя методы setSelectedIndex или setSelectedItem.
Проблема в том, что, как только пользователь выбирает другой элемент (скажем, элемент 1), больше не существует способа узнать, каким должно быть начальное значение.
Я не могу просто проверить «магическое число» (как, скажем, if (cb.getSelectedIndex() == 0)
), потому что у класса валидатора нет способа узнать, действительно ли значение по индексу 0 соответствует начальному значению быть. (И это может не быть, например, в списке штатов США.)
Также я не могу использовать ни одного из слушателей событий. Подумайте о ситуации, когда пользователь выбирает «Элемент 1», а затем повторно выбирает «Некоторые сообщения здесь». Я хотел бы, чтобы это провалилось.
Есть идеи?