code: private void doClose()
  	{
  		// set visible, if system tray active and frame is iconified
  		if (useSystemTray && (getExtendedState()&ICONIFIED)!=0) setVisible(true);
  		
  		doStopPlaying();
  		getSeekBarPanel().pauseThread();
  		getVULMeterPanel().pauseThread();
  		getVURMeterPanel().pauseThread();
  		getSALMeterPanel().pauseThread();
  		getSARMeterPanel().pauseThread();
  		getLEDScrollPanel().pauseThread();
  		writePropertyFile();
  		if (audioProcessor!=null) audioProcessor.removeListener(this);
  		
  		MultimediaContainerManager.removeMultimediaContainerEventListener(this);
  
  		useSystemTray = false; setSystemTray();
  
  		for (Window win : windows)
  		{
  			win.setVisible(false);
  			win.dispose();
  		}
  		setVisible(false);
  		dispose();
  		
  		System.exit(0); // this should not be needed! 
  	}
docs: Default Close Operation
  @since 22.06.2006