3 回答

TA貢獻1802條經(jīng)驗 獲得超10個贊
如果希望GUI表現(xiàn)為單擊X
按鈕,則需要將窗口關(guān)閉事件發(fā)送到Window
..這個ExitAction
從…關(guān)閉應(yīng)用程序允許將此功能添加到菜單項或任何使用Action
這很容易。
frame.dispatchEvent(new?WindowEvent(frame,?WindowEvent.WINDOW_CLOSING));

TA貢獻1812條經(jīng)驗 獲得超5個贊
setVisible(false); //you can't see me!dispose(); //Destroy the JFrame object

TA貢獻1998條經(jīng)驗 獲得超6個贊
如果Alt-F4或X的意思是“立即退出應(yīng)用程序,而不考慮其他Windows或線程正在運行的情況”,那么System.exit(...)
就行了一點兒沒錯你想要的是一種非常突然的,野蠻的,可能是有問題的方式。
如果你所說的Alt-F4或X是指隱藏窗口,那么frame.setVisible(false)
就是你如何“關(guān)上”窗戶。該窗口將繼續(xù)消耗資源/內(nèi)存,但可以很快使其再次可見。
如果Alt-F4或X的意思是隱藏窗口并釋放它正在消耗的任何資源,那么frame.dispose()
就是你如何“關(guān)上”窗戶。如果框架是最后一個可見窗口,并且沒有其他非守護進程線程正在運行,程序?qū)⑼顺?。如果再次顯示窗口,則必須再次重新初始化所有本機資源(圖形緩沖區(qū)、窗口句柄等)。
dispose()
可能最接近你真正想要的行為。如果您的應(yīng)用程序有多個窗口打開,您希望Alt-F4或X退出該應(yīng)用程序,還是只關(guān)閉活動窗口?
添加回答
舉報