В чем смысл getSelectedItem() JComboBox?

Я только что прочитал JavaDoc для JComboBox (обещаю, что у меня есть жизнь... Я читал не ради удовольствия. =P), и я думаю, что проблемы, которые у меня возникают с моей программой, могут быть связаны с getSelectedItem(). В документации говорится:

Возвращает текущий выбранный элемент.

Если поле со списком доступно для редактирования, возможно, это значение не было добавлено в поле со списком с помощью addItem, insertItemAt или конструкторов данных.

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


person Chris Cooper    schedule 29.03.2010    source источник


Ответы (3)


Если вы не можете получить значения, которые были добавлены с помощью этих методов или конструктора, какой смысл в этом методе? И как я могу получить значение из «редактируемого» JComboBox?

Это не то, что говорят документы. В документах говорится, что выбранный элемент мог не быть добавлен с помощью add/insertItem , что вполне может быть в том случае, если пользователь сам отредактировал/ввел значение.

В любом случае, getSelectedItem() дает вам все, что выбрано в поле со списком, независимо от того, было ли это одно из введенных вами значений или введенное пользователем.

person nos    schedule 29.03.2010
comment
Ах, спасибо. Я неправильно истолковал. Я имел в виду редактируемый, чтобы означать изменчивый. - person Chris Cooper; 29.03.2010

дополнительное значение, добавленное пользователем в JComboxBox, не будет добавлено в ComboBoxModel, но будет доступен как java.lang.String через getSelectedItem()

person Pierre    schedule 29.03.2010

Полезно для случаев, когда вы разрешаете определенный ввод за пределами предоставленного диапазона значений в модели поля со списком.

person user268396    schedule 29.03.2010