Java 右键单击时不显示JPOppMenu
我写的这段java代码是为了显示一个带有两个项目的弹出菜单,但当我右键单击框架时,弹出菜单不显示,请帮助。来自java文档: 弹出菜单在不同系统上的触发方式不同。因此,应在mousePressed和MouseRelease中检查iSpopptRigger是否具有适当的跨平台功能 添加以下两种方法,而不是mouseClicked():Java 右键单击时不显示JPOppMenu,java,swing,jpopupmenu,jpopup,Java,Swing,Jpopupmenu,Jpopup,我写的这段java代码是为了显示一个带有两个项目的弹出菜单,但当我右键单击框架时,弹出菜单不显示,请帮助。来自java文档: 弹出菜单在不同系统上的触发方式不同。因此,应在mousePressed和MouseRelease中检查iSpopptRigger是否具有适当的跨平台功能 添加以下两种方法,而不是mouseClicked(): import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.ev
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文档:
弹出菜单在不同系统上的触发方式不同。因此,应在mousePressed和MouseRelease中检查iSpopptRigger是否具有适当的跨平台功能
添加以下两种方法,而不是mouseClicked():
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());
}
}
您是否尝试过在JPanel而不是JFrame上打开菜单?就我所能记得的,我只见过JPopupMenus在JPanel上打开……你试过在JPanel而不是JFrame上打开菜单吗?就我记忆所及,我只见过JPopupMenus在JPanel上打开。。。