Java Apple屏幕菜单栏,带有多次执行的JMenuItem调用操作

Java Apple屏幕菜单栏,带有多次执行的JMenuItem调用操作,java,macos,Java,Macos,这是我关于堆栈溢出的第一个问题,如果我做错了什么,请告诉我。 基本上,在我的java应用程序中,我对窗口和菜单使用swing,然后对绘图部分进行处理。因此,我有一个JMenuBar,它有保存和更改工具等选项。当我使用系统属性apple.laf.useScreenMenuBar来使用屏幕顶部的apple内置菜单栏时,它会调用actionPerformed方法3次,只需单击一次。当我停止使用这个系统属性(意味着菜单栏在JFrame中)时,这个问题就消失了。所以我的问题是,如何使用apple菜单栏而不

这是我关于堆栈溢出的第一个问题,如果我做错了什么,请告诉我。 基本上,在我的java应用程序中,我对窗口和菜单使用swing,然后对绘图部分进行处理。因此,我有一个JMenuBar,它有保存和更改工具等选项。当我使用系统属性apple.laf.useScreenMenuBar来使用屏幕顶部的apple内置菜单栏时,它会调用actionPerformed方法3次,只需单击一次。当我停止使用这个系统属性(意味着菜单栏在JFrame中)时,这个问题就消失了。所以我的问题是,如何使用apple菜单栏而不多次调用actionperformed方法


我已经做了很多调试来隔离这个问题,当我查找它时,我无法找到问题。让我知道特定代码是否有帮助

我会尝试进行限制器或短暂冷却。基本上,在事件触发一次后,运行处理,然后使用计时器进行1秒的冷却或其他操作。然后,当计时器未完成时,如果事件再次触发,则关闭该事件。这纯粹是理论上的,我甚至不确定它是否会起作用。这可能会起作用,我会试试的,谢谢!