0

WindowBuilderforEclipseでJavaアプリを作成しました。メニューを作成し、メニュー項目の1つにmouseclickedイベントを追加しました。

JMenuItem mitemAbout = new JMenuItem("About");
    mitemAbout.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            JOptionPane.showInternalMessageDialog( form, "Message", "title", JOptionPane.PLAIN_MESSAGE);

        }
    });
    mitemHelp.add(mitemAbout);

JOptionPane行にブレークポイントを設定しましたが、デバッグモードでメニュー項目をクリックしても到達しません。私はここで完全に一歩を逃していますか?

4

1 に答える 1

1

JMenuItemコンポーネントはaddMouseListener(から継承されたjava.awt.Component)メソッドを提供しますが、それ自体の機能的な使用MouseEventsのためにのみ処理されMenuElementsます。つまり、外部MouseEventsは効果がありません。

JMenuItemコンポーネントの場合、ではなくを使用しActionListenerMouseListenerユーザーイベントをリッスンします。

mitemAbout.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
      ...               
}
});

または使用:

mitemAbout.setAction(myAction);
于 2013-03-11T21:16:31.517 に答える