Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 하위 메뉴가 있는 JPopupMenu를 어떻게 만들 수 있습니까?


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();
   }
}

출력

Java에서 하위 메뉴가 있는 JPopupMenu를 어떻게 만들 수 있습니까?