Listen for Changes to the Selected Item in a JComboBox Component in Java
Description
The following code shows how to listen for Changes to the Selected Item in a JComboBox Component.
Example
/*from w ww . j ava 2 s . c o m*/
import java.awt.BorderLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class Main {
public static void main(String[] argv) throws Exception {
JFrame frame = new JFrame("Selecting JComboBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] items = { "item1", "item2" };
JComboBox cb = new JComboBox(items);
MyItemListener actionListener = new MyItemListener();
cb.addItemListener(actionListener);
frame.add(cb, BorderLayout.SOUTH);
frame.setSize(400, 200);
frame.setVisible(true);
}
}
class MyItemListener implements ItemListener {
// This method is called only if a new item has been selected.
public void itemStateChanged(ItemEvent evt) {
JComboBox cb = (JComboBox) evt.getSource();
Object item = evt.getItem();
if (evt.getStateChange() == ItemEvent.SELECTED) {
System.out.println("ItemEvent.SELECTED");
// Item was just selected
} else if (evt.getStateChange() == ItemEvent.DESELECTED) {
System.out.println(ItemEvent.DESELECTED);
// Item is no longer selected
}
}
}
The code above generates the following result.
Home »
Java Tutorial »
Swing »
Java Tutorial »
Swing »