我在 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 并开始正常工作。