0

我在 Ubuntu 15.04 下遇到 java 7/8 的问题。我参与了一个项目,该项目已经进行了 4 年,所以修复那里的东西可能是一个更大的问题。尽管如此:当我开始使用 Ubuntu 15.04 时,MouseListener 停止工作。我将问题最小化以明确我的意思:

public class MenuGui {
    public MenuGui() {
        final JFrame frame = new JFrame("");
        JMenuBar bar = new JMenuBar();
        JMenu m1 = new JMenu("Start");
        JMenuItem i11 = new JMenuItem("Action");


        i11.addMouseListener(new MouseAdapter()
        {
            public void mousePressed(MouseEvent e) {

                JOptionPane.showConfirmDialog(frame, "hi");
            }

        });
        m1.add(i11);
        bar.add(m1);
        frame.setJMenuBar(bar);
        frame.setVisible(true);

    }

    public static void main(String[] args){
        new MenuGui();
    }
}

当我在我的机器上运行此示例时,菜单位于 gnome 菜单上,但单击菜单条目不会执行任何操作。现在的问题是:有没有办法轻松地将菜单放回实际的 jframe 或者更好的是 ubuntu 15.04 有修复吗?以 root 身份运行它会将菜单放回 jframe 并开始正常工作。

4

1 回答 1

0

如果不是 JMenuItems 方面的专家,我认为您需要一个 ActionListener,而不是听鼠标事件。

于 2015-10-22T10:49:17.517 回答