如何使用 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(); } }
输出
广告