为什么没有调用WindowBuilder事件?

时间:2013-03-11 21:11:25

标签: java dialog windowbuilder

我在WindowBuilder for Eclipse中创建了一个Java应用程序。我建立了一个菜单,在其中一个菜单项中添加了鼠标点击事件。

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行上设置了断点,当我在调试模式下单击菜单项时,它甚至都没有。 我在这里完全错过了一步吗?

1 个答案:

答案 0 :(得分:1)

尽管JMenuItem组件提供的addMouseListener方法(继承自java.awt.ComponentMouseEvents仅针对MenuElements自己的功能使用进行处理,即任何外部{ {1}}无效。

对于MouseEvents个组件,请使用JMenuItem而不是ActionListener来监听用户事件:

MouseListener

或使用:

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