/* Listing2901.java */ import java.awt.*; import java.awt.event.*; class CloseableFrame extends Frame { public CloseableFrame() { this(""); } public CloseableFrame(String title) { super(title); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent event) { setVisible(false); dispose(); } } ); } } public class Listing2901 { public static void main(String[] args) { CloseableFrame wnd = new CloseableFrame("CloseableFrame"); wnd.setBackground(Color.lightGray); wnd.setSize(300,200); wnd.setLocation(200,100); wnd.setVisible(true); wnd.addWindowListener( new WindowAdapter() { public void windowClosed(WindowEvent event) { System.out.println("terminating program..."); System.exit(0); } } ); } }