JComboBox – Java Swing – Example
In this tutorial, we are going to see an example of JComboBox in Java Swing. JComboBox is part of the Java Swing package. JComboBox inherits from the JComponent class. JComboBox displays a contextual menu as a list that allows the user to select an option from the specified list. JComboBox can be editable or read-only according to the programmer’s choice.

[st_adsense]
JComboBox constructors class:
JComboBox() | Creates a new empty JComboBox. |
JComboBox(ComboBoxModel M) | Create a new JComboBox with the elements of the specified ComboBoxModel |
JComboBox(E[] i) | Creates a new JComboBox with the elements of the specified array. |
JComboBox(Vector items) | Creates a new JComboBox with the elements of the specified vector. |
Commonly used methods:
- addItem(E item) : Adds the element to JComboBox
- addItemListener( ItemListener l) : Adds an ItemListener to JComboBox.
- getItemAt(int i) : Returns the element at index i
- getItemCount() : Returns the number of elements in the list
- getSelectedItem() : Returns the element that is selected
- removeItemAt(int i) : Deletes the element at index i
- setEditable(boolean b) : The boolean b determines if the list is modifiable or not. If the value “true” is transmitted, the list is modifiable, if “false” the list is not modifiable.
- setSelectedIndex(int i) : Selects the JComboBox element at index i.
- showPopup() : Allows the drop-down list to display its pop-up window.
- setEnabled(boolean b) : Activates the drop-down list so that the items can be selected.
- removeItem(Object anObject) : Removes an element from the list of elements.
- removeAllItems() : Deletes all the elements of the list.
- removeActionListener(ActionListener l) : Deletes ActionListener.
- isPopupVisible() : Determines popup visibility.
- getItemCount() : Returns the number of elements in the list.
Example of JComboBox in Java Swing:
import javax.swing.*; import java.awt.*; import java.awt.event.*; class ComboBoxExample extends JFrame implements ItemListener { // frame static JFrame frame; // combobox static JComboBox combobox; // label static JLabel l1, l2; public static void main(String[] args) { // create a new frame frame = new JFrame("frame"); // create an object ComboBoxExample obj = new ComboBoxExample(); // set the layout of the frame frame.setLayout(new FlowLayout()); // array of strings containing languages String s1[] = { "Java", "PHP", "Python", "C++", "Ruby" }; // create a checkbox combobox = new JComboBox(s1); // add ItemListener combobox.addItemListener(obj); // create labels l1 = new JLabel("What is your favorite language? "); l2 = new JLabel("[Java]"); // set the text color l2.setForeground(Color.blue); // create a new panel JPanel p = new JPanel(); // add combobox and labels to the panel p.add(l1); p.add(combobox); p.add(l2); // add panel to frame frame.add(p); // set the frame size frame.setSize(400, 200); frame.show(); } public void itemStateChanged(ItemEvent e) { // check if the state of the combobox is changed if (e.getSource() == combobox) { l2.setText(" ["+combobox.getSelectedItem()+"]"); } } }
Output:

[st_adsense]