Java MacOS useScreenMenuBar Quit只工作一次
我已经构建了一个JavaSwing应用程序,并在MacOSX上运行它。“应用程序菜单”的请求如下所示:Java MacOS useScreenMenuBar Quit只工作一次,java,menuitem,macos-catalina,Java,Menuitem,Macos Catalina,我已经构建了一个JavaSwing应用程序,并在MacOSX上运行它。“应用程序菜单”的请求如下所示: System.setProperty("apple.laf.useScreenMenuBar", "true"); Desktop desktop = Desktop.getDesktop(); desktop.setAboutHandler(e -> new HelpAbout().doIt()); desktop.setPreferencesH
System.setProperty("apple.laf.useScreenMenuBar", "true");
Desktop desktop = Desktop.getDesktop();
desktop.setAboutHandler(e -> new HelpAbout().doIt());
desktop.setPreferencesHandler(e -> viewGlobalSettings.doIt());
desktop.setQuitHandler((e, r) -> {
fileExit.doIt();
});
菜单都很好用。
问题是“退出”菜单只工作一次。调用fileExit.doIt()将触发一个用户确认对话框。如果用户选择“Yes,please quit”(是,请退出),它可以正常工作,但是如果用户选择“No”,然后以相同的方式再次尝试退出,则不会发生任何事情。
对“About”和“Preferences”的调用仍然有效
我尝试在用户在确认对话框中选择“否”时触发以下内容
Desktop desktop = Desktop.getDesktop();
desktop.setQuitHandler((e, r) -> {
fileExit.doIt();
});
重新注册代码,但这没有帮助
谢谢你的建议
MacOS 10.15.7
Java热点(TM)64位服务器虚拟机
10.0.1+10
神谕