Mega Code Archive

 
Categories / Java / Event
 

Demonstrating the PopupMenuListener

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; public class PopupTest {   public static void main(String args[]) {     JFrame frame = new JFrame("Popup Menu Listener");     Container contentPane = frame.getContentPane();     final String flavors[] = { "Item 1", "Item 2", "Item 3"};     PopupMenuListener listener = new PopupMenuListener() {       boolean initialized = false;       public void popupMenuCanceled(PopupMenuEvent e) {       }       public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {       }       public void popupMenuWillBecomeVisible(PopupMenuEvent e) {         if (!initialized) {           JComboBox combo = (JComboBox) e.getSource();           ComboBoxModel model = new DefaultComboBoxModel(flavors);           combo.setModel(model);           initialized = true;         }       }     };     JComboBox jc = new JComboBox();     jc.addPopupMenuListener(listener);     jc.setMaximumRowCount(4);     jc.setEditable(true);     contentPane.add(jc, BorderLayout.NORTH);     frame.pack();     frame.show();   } }