JComboBox : Java Glossary


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.


Keying enums with JComboBox

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


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:

This page is posted
on the web at:


Optional Replicator mirror
of mindprod.com
on local hard disk J:

Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number