title: Detecting when a Java application closes
body: <p>I am trying to detect when the Java application is about to close so I can perform methods to release resources, I have done it in C# as follows:</p>
  
  <pre><code>//Intercept when the application closes
          private void Form1_FormClosing(object sender, FormClosingEventArgs e)
          {
              //Reclaim resources from MIDI usage
              if (MIDIControl.CleanUp())
              {
                  Logger.Add("Closed resources successfully on Form Close \n");
              }
              else
              {
                  Logger.Add("Failed to close all resources on Form Close.");
              }
          }
  </code></pre>
  
  <p>I've tried to perform the same technique in the Java version yet it doesn't seem to work, I've tried debugging and it doesn't suspend on the breakpoint placed on the method name:</p>
  
  <pre><code>//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);
          }
  </code></pre>
  
  <p>Am I waiting for the wrong event? How would I go about performing the appropiate method in the same way as the C# version.</p>
  
  <p>Thanks for your time.</p>