我正在使用 IntelliJ 運行我的應用程式。有沒有辦法在點擊運行按鈕時重新啟動視窗或關閉當前視窗?
這是因為當我點擊運行按鈕時,它每次都會創建一個新視窗。關閉運行舊代碼的前一個視窗會有點乏味/令人困惑。

uj5u.com熱心網友回復:
轉到運行選單并選擇編輯配置...
在左側面板中選擇您用來運行專案的配置。要么是 GradleyourProjectName:desktop [run]任務,要么是您自己創建的應用程式運行配置。
取消選中“允許并行運行”框。
下次您嘗試在它已經運行時運行它時,它會警告您只有在殺死舊行程時才能運行它。從現在開始,您可以選中此對話框中的一個框以自動執行此操作。
我從來沒有想出辦法將這種行為切換回原來的樣子,但我很少需要并排比較兩個構建。
uj5u.com熱心網友回復:
如果您正在尋找一種以應用程式為中心的方式,它也可移植到 intelij 之外,您可以實作“單實體方法”行為,將您的應用程式實作為單實體應用程式,從而關閉以前的版本。
一旦應用程式啟動,它就會嘗試打開一個特定的、可能是可配置的偵聽套接字。現在有兩種可能。應用程式要么設法打開套接字,要么它沒有設法打開套接字。
如果應用程式設法打開套接字,應用程式將正常繼續。這是當前唯一正在運行的應用程式實體,它實際上是第一個啟動的應用程式實體。(第一次啟動應用程式)。應用程式應該監聽這個套接字并期待一個
MAGIC_WORD. 當應用程式MAGIC_WORD從套接字接收到,它應該關閉所有資源,關閉套接字并正常關閉。如果應用程式無法打開監聽套接字,那么我們假設該埠已經被應用程式的前一個實體打開,該實體已經在運行。在這種情況下,新啟動的應用程式連接到打開的套接字并發送一個
MAGIC_WORD到由前一個應用程式實體打開的 socked 并等待套接字關閉。此時,較新的應用程式實體應該通過打開任何潛在的共享資源來繼續,然后正常繼續。
如果使用 a 而不是 a 并通過握手確認第一個應用程式的關閉會socket更好websocket。
PS:創建單實體應用程式有許多不同的方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429737.html
