एक JComboBox, JComponent क्लास का एक सबक्लास है जो एक ड्रॉप-डाउन लिस्ट प्रदर्शित करता है और यूजर्स को विकल्प देता है जिसमें से हम एक समय में केवल एक आइटम चुन सकते हैं। एक JComboBox एडिटेबल या रीड-ओनली हो सकता है। getSelectedItem() मेथड का उपयोग कॉम्बो बॉक्स से चुने गए या दर्ज किए गए आइटम को प्राप्त करने के लिए किया जा सकता है। हम MouseListener इंटरफेस को इम्प्लीमेंट करके और mouseReleased() मेथड को ओवरराइड करके JComboBox से पॉपअप मेनू को इनवोक कर सकते हैं जब यूजर उस पर राइट-क्लिक करता है। MouseEvent क्लास का मेथड isPopupTrigger() पॉपअप मेनू दिखाने के लिए उपयोग किया जा सकता है।
उदाहरण
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JComboBoxPopupTest extends JFrame {
private JComboBox jcb;
private JPopupMenu jpm;
private JMenuItem mItem1, mItem2;
public JComboBoxPopupTest() {
setTitle("JComboBoxPopup Test");
setLayout(new FlowLayout());
jcb = new JComboBox(new String[] {"Item 1", "Item 2", "Item 3"});
jpm = new JPopupMenu();
mItem1 = new JMenuItem("Popup Item 1");
mItem2 = new JMenuItem("Popup Item 2");
jpm.add(mItem1);
jpm.add(mItem2);
((JButton)jcb.getComponent(0)).addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
if (me.isPopupTrigger()) {
jpm.show(jcb, me.getX(), me.getY());
}
}
});
add(jcb);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) throws Exception {
new JComboBoxPopupTest();
}
}
आउटपुट
