Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีสร้าง JPopupMenu พร้อม Sub Menu ใน Java

JPopupMenu เป็น subclass ของ JComponent ปรากฏที่ไหนก็ได้บนหน้าจอเมื่อคลิกปุ่มเมาส์ขวา เพื่อสร้าง popup menu ใช้คลาส JPopupMenu โดยทั่วไปเพิ่ม menu items เข้า JPopupMenu และเพิ่ม submenu เข้า JPopupMenu ได้โดยเพิ่ม menu items เข้า submenu ก่อน แล้วค่อยเพิ่ม submenu เข้า JPopupMenu Popup menu ถูก trigger โดย mouse events ต้อง register MouseListener interface สามารถ override mouseReleased() แสดง popup menu เมื่อได้ event ที่เหมาะสมโดยเรียก 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();
    }
}

Output

วิธีสร้าง JPopupMenu พร้อม Sub Menu ใน Java