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の修正がありますか? ルートとして実行すると、メニューが jframe に戻り、問題なく動作し始めます。