我正在用java創建一個jframe。但我想檢查系統上是否已經存在 jframe。我嘗試了一種方法,您可以從任務管理器中獲取所有行程并查看它是否正在運行,但它不起作用。我正在使用這篇文章中的一種方法:https : //stackoverflow.com/a/19005828/15349408 它的行程名稱是“javaw.exe”。
它無法檢查 jframe 物件是否為空,因為它將從不同的程式運行。是否可以檢查 jframe 是否已經打開我的系統。
uj5u.com熱心網友回復:
聽起來您希望 java 行程能夠訪問其他行程的 java 物件。您可以通過 IPC 執行此操作,請參閱此答案以獲取一些想法。
如果您只需要一個用例,只是為了檢查一個特定 JFrame 的存在,那么我建議只使用一個簡單的鎖定檔案。該檔案名可以是任何名稱,例如“myprogram.lock”。唯一重要的是確保所有程式實體使用相同的目錄,例如。Windows 臨時目錄。
- 在創建 JFrame 之前,檢查鎖定檔案是否存在。
- 如果鎖定檔案已經存在,則不要創建 JFrame。
- 如果鎖定檔案尚不存在,請創建鎖定檔案,然后創建 JFrame。
- 當 JFrame 被關閉時,洗掉鎖定檔案。
出于除錯目的,您可以將行程 ID 寫入鎖定檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/457800.html
