एक JPopupMenu, JComponent क्लास का एक सबक्लास है और यह स्क्रीन पर कहीं भी दिखाई दे सकता है जब राइट माउस बटन क्लिक किया जाता है। पॉपअप मेनू बनाने के लिए, हम JPopupMenu क्लास का उपयोग कर सकते हैं। सामान्य तौर पर, हम मेनू आइटम्स को JPopupMenu में जोड़ सकते हैं और मेनू आइटम्स को पहले सबमेनू में जोड़कर फिर JPopupMenu में जोड़कर सबमेनू भी जोड़ सकते हैं। पॉपअप मेनू माउस इवेंट्स द्वारा ट्रिगर होता है, इसलिए हमें MouseListener इंटरफेस रजिस्टर करना होगा। हम mouseReleased() मेथड को ओवरराइड करके पॉपअप मेनू को तब प्रदर्शित कर सकते हैं जब हमें isPopupTrigger() मेथड को कॉल करके उपयुक्त इवेंट मिलता है और माउस इवेंट कोऑर्डिनेट्स को आर्गुमेंट्स के रूप में पास करके इसके show() मेथड को कॉल करके प्रदर्शित कर सकते हैं।
उदाहरण
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class JPopupMenuwithSubMenuTest extends JFrame {
private JPopupMenu popup;
private JMenu subMenu;
public JPopupMenuwithSubMenuTest() {
setTitle("JPopupMenuwithSubMenu Test");
popup = new JPopupMenu();
subMenu = new JMenu("Course");
subMenu.add("Java");
subMenu.add("Python");
subMenu.add("Scala");
popup.add(new JMenuItem("First Name"));
popup.add(new JMenuItem("Last Name"));
popup.addSeparator();
popup.add(subMenu);
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
showPopup(me);
}
}) ;
setSize(400, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
void showPopup(MouseEvent me) {
if(me.isPopupTrigger())
popup.show(me.getComponent(), me.getX(), me.getY());
}
public static void main(String args[]) {
new JPopupMenuwithSubMenuTest();
}
}
आउटपुट
