プロが教えるわが家の防犯対策術!

Eclipse4.3にて、Window Builderを使いプログラミングの勉強をしています
ツールバーにメニューを作成し、クリックのイベントを取りたいのですが…
File(F)
-New(N)
-Print(P)
-Exit(X)
この構造で、Exit(X)のmouseClicked だけが実行されません
mousePressed、mouseReleasedは、実行されます
コンソールの表示は、以下の通りです
File(F) メニューが押されました。
Exit メニューが押されました。
Exit メニューが離されました。

どなたかアドバイスをお願いします

JMenuBar menuBar = new JMenuBar();
menuBar.setBounds(0, 0, 442, 21);
contentPane.add(menuBar);

JMenu mnNewMenu = new JMenu("File(F)");
mnNewMenu.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("File(F) メニューが押されました。");
}
});
mnNewMenu.setMnemonic(KeyEvent.VK_F);
menuBar.add(mnNewMenu);

JMenuItem mntmNewMenuItem_2 = new JMenuItem("New(N)",KeyEvent.VK_N);
mnNewMenu.add(mntmNewMenuItem_2);

JMenuItem mntmNewMenuItem_1 = new JMenuItem("Print(P)",KeyEvent.VK_P);
mnNewMenu.add(mntmNewMenuItem_1);

JMenuItem mntmNewMenuItem = new JMenuItem("Exit(X)",KeyEvent.VK_X);
mntmNewMenuItem.addMouseListener (new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Exit メニューがクリックされました。");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("Exit メニューが押されました。");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("Exit メニューが離されました。");
}
});
mnNewMenu.add(mntmNewMenuItem);
}

A 回答 (1件)

本当にイベントが発生しませんか?


マウスクリックのときマウスカーソルが揺れてしまうと代わりにドラッグイベントが発生するようですが、これが原因かもしれません。
もう一度確認してはどうでしょうか。

参考URL:http://www.ruimo.com/howto/java/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!