gpt4 book ai didi

java - 为什么 WindowBuilder 事件没有被调用?

转载 作者:行者123 更新时间:2023-12-01 14:46:53 27 4
gpt4 key购买 nike

我在 WindowBuilder for Eclipse 中创建了一个 Java 应用程序。我构建了一个菜单,并在其中一个菜单项上添加了 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 行上放置了一个断点,当我在 Debug模式下单击菜单项时,它甚至无法到达它。我在这里完全错过了一步吗?

最佳答案

尽管 JMenuItem 组件提供了 addMouseListener 方法(继承自 java.awt.Component),但 MouseEvents 只是针对 MenuElements 自身的功能使用进行处理,即任何外部 MouseEvents 都不会产生任何效果。

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

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

或使用:

mitemAbout.setAction(myAction);

关于java - 为什么 WindowBuilder 事件没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com