如何使用 Java 中的 JPopupMenu 实现右键菜单?


JPopupMenu右键单击后出现在屏幕上的任意位置。

JPopupMenu

  • 弹出菜单是一个关联于名为 调用方 的基础组件的自由浮动的菜单。
  • 大多数情况下,弹出菜单与特定组件相关联,以显示与上下文相关的选项。
  • 为了创建一个弹出菜单,我们可以使用 JPopupMenu 类,我们可以像普通的菜单那样将 JMenuItem 添加到弹出菜单。
  • 为了显示弹出菜单,我们可以调用 show()  方法,通常弹出菜单是响应于鼠标事件调用的。

示例

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class JPopupMenuTest extends JFrame {
   private JPopupMenu popup;
   public JPopupMenuTest() {
      setTitle("JPopupMenu Test");
      Container contentPane = getContentPane() ;
      popup = new JPopupMenu();
      // add menu items to popup
      popup.add(new JMenuItem("Cut"));
      popup.add(new JMenuItem("Copy"));
      popup.add(new JMenuItem("Paste"));
      popup.addSeparator();
      popup.add(new JMenuItem("SelectAll"));
      contentPane.addMouseListener(new MouseAdapter() {
         public void mouseReleased(MouseEvent me) {
            showPopup(me); // showPopup() is our own user-defined method
         }
      }) ;
      setSize(375, 250);
      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 JPopupMenuTest();
   }
}

输出

更新于: 2020 年 2 月 7 日

1 千次以上观看

开启你的 职业生涯

通过完成课程获得认证

开始
广告