右键单击不显示JPopupMenu

编程入门 行业动态 更新时间:2024-10-27 12:34:46
本文介绍了右键单击不显示JPopupMenu的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; public class B extends MouseAdapter { JFrame frame = new JFrame(); JPopupMenu popup = new JPopupMenu(); JMenuItem item1 = new JMenuItem("ADD"); JMenuItem item2 = new JMenuItem("DELETE"); public static void main(String arg[]) { new B(); } B() { frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setLayout(new FlowLayout()); frame.addMouseListener(this); popup.add(item1); popup.add(item2); frame.add(popup); frame.setVisible(true); } public void mouseClicked(MouseEvent click) { if(click.isPopupTrigger()) popup.show(frame,click.getX(),click.getY()); } }

我写过这个java代码是显示一个包含两个项目的弹出菜单,但是当我右键单击框架时不会显示弹出菜单,请帮助。

I have written this java code is to display a popup menu with two items on it, but popup menu is not displayed when I right click on frame, please help.

推荐答案

来自Java Doc: isPopupTrigger()

From Java Doc : isPopupTrigger()

弹出菜单在不同系统上的触发方式不同。因此,应该在mousePressed和mouseReleased中检查isPopupTrigger以获得正确的跨平台功能。

Popup menus are triggered differently on different systems. Therefore, isPopupTrigger should be checked in both mousePressed and mouseReleased for proper cross-platform functionality.

而不是mouseClicked()在下面添加两种方法:

Instead of mouseClicked() add below two methods:

public void mousePressed(MouseEvent e) { if(e.isPopupTrigger()) popup.show(frame,e.getX(),e.getY()); } public void mouseReleased(MouseEvent e) { if(e.isPopupTrigger()) popup.show(frame,e.getX(),e.getY()); }

更多推荐

右键单击不显示JPopupMenu

本文发布于:2023-08-06 05:15:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1310280.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:右键   单击   JPopupMenu

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!