JComboBox : Java Glossary

JComboBox
The Swing equivalent of the AWT (Advanced Windowing Toolkit) Choice. A JComboBox is a component that combines a button or editable field and a drop-down list. The user can select a value from the drop-down list, which appears at the user’s request. If you make the combo box editable, then the combo box includes an editable field into which the user can type a value, thus allowing the user to select something that was not one of the original choices.

The name is misleading. JComboBox does not let you select combinations of options, the way you can with a JList, just a single option. The combo-moniker comes from the fact it has a combination write in field and select from pre-existing choices.

JList is similar to JComboBox, except JComboBox drops down where JList does not. Further, JList permits multiple selections where JComboBox does not.
To control how the choices are displayed, you can write a custom ListCellRenderer, based on BasicComboBoxRenderer.

To control how the new write-in field possibility is keyed, you can write a custom ComboBoxEditor based on BasicComboBoxEditor.

JComboBox uses setSelectedItem instead of select. getSelectedItem returns an Object you must cast to a String. The use of Objects for your choices allows more flexibility in rendering the choices.

Gotchas

Keying enums with JComboBox

Here is how to let the user select an enum in a GUI (Graphic User Interface) using JComboBox.

Use

Here is how to use a JComboBox with simple Strings as the possible choices.

Learning More

Oracle’s Javadoc on JComboBox class : available:
Oracle’s Javadoc on BasicComboBoxEditor class : available:
Oracle’s Javadoc on BasicComboBoxRenderer class : available:
Oracle’s Javadoc on DefaultComboBoxModel class : available:
Oracle’s Javadoc on ComboBoxModel interface : available:

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/jcombobox.html J:\mindprod\jgloss\jcombobox.html
logofeedback Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email If you want your message kept confidential, not considered for posting, please explicitly specify that.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.213]
You are visitor number 26,077.