在確信(“受過(guò)教育”)Mac上的Swing應(yīng)用程序確實(shí)看起來(lái)是本地的之后,我試圖使我的外觀看起來(lái)盡可能本地化。一切看起來(lái)都很不錯(cuò),但是當(dāng)我按command+ Q或從菜單中進(jìn)行操作時(shí),我windowStateChanged(WindowEvent e)沒(méi)有在主JFrame上觸發(fā)(如果我以任何其他方式退出,則確實(shí)會(huì)觸發(fā))。我如何應(yīng)對(duì)真正的蘋果退出?
3 回答

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
票數(shù)最高的答案是極好的,但這只是為了填寫“最佳方式”:
System.setProperty("apple.eawt.quitStrategy", "CLOSE_ALL_WINDOWS");
這將觸發(fā)標(biāo)準(zhǔn)的窗口關(guān)閉回調(diào)事件,該事件對(duì)于可移植代碼應(yīng)該非常有效。
作為下面討論的結(jié)果,似乎很重要的一點(diǎn)是真正在應(yīng)用程序的早期進(jìn)行此操作。我在執(zhí)行任何UI代碼之前,先在主類的靜態(tài)初始化程序中編寫了此代碼。
添加回答
舉報(bào)
0/150
提交
取消