// This example is from _Java Examples in a Nutshell_. (http://www.oreilly.com)
// Copyright (c) 1997 by David Flanagan
// This example is provided WITHOUT ANY WARRANTY either expressed or implied.
// You may study, use, modify, and distribute it for non-commercial purposes.
// For any commercial use, see http://www.davidflanagan.com/javaexamples
import java.awt.*;
import java.awt.event.*;
/**
* This class is a convenient subclass of Frame that knows how to
* handled the WindowClosing event generated when the user requests
* that the window be closed. By default it simply closes itself,
* which makes it useful for things like modeless dialogs that can be
* closed without affecting the rest of the application. Subclasses
* of CloseableFrame can override the windowClosing() method if they
* want to perform additional actions. Applications that use the
* CloseableFrame class for a main window may want to exit when a
* CloseableFrame actually closes. They can do this by overriding
* windowClosed() or by registering a separate WindowListener to
* receive the windowClosed() event.
**/
public class CloseableFrame extends Frame implements WindowListener {
// There are two versions of the constructor. Both register the Frame
// as its own WindowListener object
public CloseableFrame() { this.addWindowListener(this); }
public CloseableFrame(String title) {
super(title);
this.addWindowListener(this);
}
// These are the methods of the WindowListener object. Only
// windowClosing() is implemented
public void windowClosing(WindowEvent e) { this.dispose(); }
public void windowOpened(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}
|