Set a Non-Existing Item in a JComboBox’s Item List

Set a Non-Existing Item in a JComboBox’s Item List

You can programmatically set an item in a JComboBox when the item is not in the combo box’s item list using an editable JComboBox. An editable combo box acts like a text field as well as a choice, allowing the user to type a value in the text field or click the button to choose a value from a menu. When the setSelectedItem(Object anObject) method is called, the editable combo box simply shows the object passed, whereas an uneditable combo box will by default select the first item in the list. This code will set the combo box to “Fourth”:

   String[] items = {"First", "Second", "Third"};  JComboBox box = new JComboBox(items);  box.setEditable(true);  box.setSelectedItem("Fourth");

Without line three, the combo box would be set to “First”. You should note that the JDK API is ambiguous about this point. It states that “… If anObject is in the list, the list displays with anObject selected. If the object does not exist in the list, the default data model selects the first item in the list.” This is true for an uneditable combo box, but not for an editable combo box.


Share the Post: