[英]Java Swing application lifecycle problem
我有一個Java應用程序,用於啟動Swing用戶界面。 接口是帶有封裝的JFrame實例的類。 問題在於,應用程序分配了一些資源,而Swing界面使用了這些資源,但是應用程序關閉了資源, 而不是用戶界面。
當完整的Swing接口關閉時,如何實現主應用程序得到通知,或者直到關閉它為止,Swing接口的開始都會阻塞。 關閉表示JFrame WindowListener的WindowAdapter.windowClosed(WindowEvent)
方法已被調用。
當JFrame不可見時,此線程( 鏈接 )的解決方案似乎返回,這是否包括WINDOW_CLOSED
事件處理?
編輯:也許它將是實現此生命周期接口的解決方案:
public interface Lifecycle {
public void startup();
public void shutdown();
}
現在,Swing接口類必須在WindowEvent.WINDOW_CLOSED事件的處理程序中調用主應用程序的shutdown()
方法。
這樣做是否可行並且是一個好習慣?
嘗試使用Toolkit.getDefaultToolkit().addAWTEventListener()
。 如果提供適當的事件掩碼,則可以獲取所需的事件。 這無需訂閱JFrame的特定實例。
方法應如下
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.