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

เราจะสร้าง JPopupMenu ด้วยเมนูย่อยใน Java ได้อย่างไร?


A JPopupMenu เป็นคลาสย่อยของ JComponent คลาสและสามารถปรากฏที่ใดก็ได้บนหน้าจอเมื่อคลิกปุ่มเมาส์ขวา ในการสร้างเมนูป๊อปอัป เราสามารถใช้ JPopupMenu ระดับ. โดยทั่วไปเราสามารถเพิ่ม รายการเมนู ไปที่ 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();
   }
}

ผลลัพธ์

เราจะสร้าง JPopupMenu ด้วยเมนูย่อยใน Java ได้อย่างไร?