【问题标题】:Right click popup menu in Processing处理中的右键弹出菜单
【发布时间】:2013-06-04 09:04:23
【问题描述】:

我是 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());
            }
        }
    });
    }

【问题讨论】:

  • 只有在可以触发组件的鼠标事件时才会显示弹出窗口。如果您在面板中添加了其他组件,它们可能会阻止弹出窗口
  • 我有时读到,将 Swing 组件与基于 AWT 的 Processing 结合起来可能会很棘手。

标签: java popup processing


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多