Java 右键单击时不显示JPOppMenu

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

我写的这段java代码是为了显示一个带有两个项目的弹出菜单,但当我右键单击框架时,弹出菜单不显示,请帮助。

来自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());
    }

}
从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上打开。。。