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

輸出

更新於: 10-2 月 -2020

650 次瀏覽

開啟你的職業生涯

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.