Question

How do I make my frames close in response to user requests?

Answer

You need to define an event handler for the "WindowClosing" event. Under JDK1.02, you can add the following code to your Frame subclasses.

// Response to close events
public void WindowClosing(WindowEvent evt)
{
	// Close application
	System.exit(0);
}

If you're using JDK1.1 AWT event handlers, you can use the WindowAdapter class for a similar purpose. Here's a simple application that demonstrates the use of WindowAdapter, as an anonymous inner class.

import java.awt.*;
import java.awt.event.*;

public class Demo
{
   public static void main ( String args[] )
   {
	// Create a frame with a button
	Frame f = new Frame("Demo");

	// Add a new button
	f.add ( new Button("demo") );

	// Resize/pack
	f.pack();

	// Add a window listener
	f.addWindowListener ( new WindowAdapter () {
		public void windowClosing ( WindowEvent evt )
		{
			System.exit(0);
		}
	});

	// Show window
	f.setVisible(true);
   }
}

It doesn't take much code to respond to close events, and makes applications look much more professional. Don't forget in your next application! :)


Back