1

我是 Java 和 Processing 的初学者。我正在尝试创建一个右键单击弹出菜单,该菜单将显示在处理 jPanel 中。我正在使用的部分代码如下所示,属于扩展 PAplet 的类。最初,当按下鼠标右键时,弹出菜单可以正常显示,但在使用 GUI 的一些其他元素后,它不再出现在屏幕上。

如何解决这个问题?我应该在 steup() 方法中创建弹出菜单吗?还是别处?

谢谢。

  private JPopupMenu menu = new JPopupMenu();
  private JMenuItem edgeFrom = new JMenuItem("Edge From");
  private JMenuItem edgeTo = new JMenuItem("Edge To");

  @Override
  public void setup() {
    size(desiredheight,desiredwidth);
    background(255); 
    PopupActionHandler handler = new PopupActionHandler();
    edgeFrom.addActionListener(handler);
    edgeTo.addActionListener(handler);
    menu.add(edgeFrom);
    menu.add(edgeTo);

    addMouseListener(new MouseAdapter() { 
        public void mouseReleased(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
                menu.show(evt.getComponent(), evt.getX(), evt.getY());
            }
        }
    });
    }
4

1 回答 1

0

使用以下 JPopupMenu 参考链接

http://www.java2s.com/Code/Java/Swing-JFC/AsimpleexampleofJPopupMenu.htm

于 2013-06-04T09:35:12.427 回答