2011-04-20 107 views
1

我想,當Java應用程序即將關閉,所以我能夠執行的方法來釋放資源探測,我在C#如下做到了試圖執行的Java版本相同的技術,但它似乎並沒有工作,我已經試過調試,並沒有對置於方法名斷點暫停:檢測當Java應用程序關閉

//Intercept when the application closes 
     public void windowClosing(WindowEvent we) 
     { 
      //Reclaim resources from MIDI usage 
      if(_midiInstance.CleanUp()) 
      { 
       Logger.Add("Closed resources successfully on ShutDown"); 
      } 
      else 
      { 
       Logger.Add("Failed to close all resources on ShutDown"); 
      } 
      System.exit(0); 
     } 

我在等待的錯誤的事件?我將如何以與C#版本相同的方式執行合適的方法。

感謝您的時間。

回答

12

您是否通過addWindowListener()註冊了包含windowClosing()方法的課程?

除此之外,使用窗口來確定應用程序狀態並不是一個好的風格。 Java明確允許你關閉關機進程:

Runtime.getRuntime().addShutdownHook(new Thread() { 

    @Override 
    public void run() { 
     // place your code here 
    } 

}); 
+0

啊我看到了,像一個魅力工作! – 2011-04-20 17:43:24