Las sentencias 15-17 definen una clase auxiliar (helper class) que deriva de la clase
Win dowAdapter. Dicha clase hereda definiciones vacías de todos los métodos de la interface
Windon'Listener. Lo único que tiene que hacer es redefinir el único método que se necesita para
cerrar las ventanas. El constructor de la clase VentanaCerrable crea un objeto de la clase
CerrarVentana en la sentencia 10 y lo registra como event listener en la sentencia 11. En la
sentencia 11 la palabra this es opcional: si no se incluye, se supone que el event source es el objeto
de la clase en la que se produce el evento, en este caso la propia ventana.
Todavía hay otra forma de responder al evento que se produce cuando el usuario desea cerrar
la ventana. Las clases anónimas de Java son especialmente útiles en este caso. En realidad, para
gestionar eventos sólo hace falta un objeto que sea registrado como event listener y contenga los
métodos adecuados de la interface Listener. Las clases anónimas son útiles cuando sólo se necesita
un objeto de la clase, como es el caso. La nueva definición de la clase VentanaCerrable podría ser
como sigue:
1. // Fichero
VentanaCerrable3.java
2 . import j ava.awt.*;
3. import java.awt.event.*;
4. class VentanaCerrable3 extends
Frame {
5. // constructores
6. public VentanaCerrable3() {
super(); }
7. public
VentanaCerrable3(String title) {
3. super(title);
3. super(title);
9. setSize(500,500);
10. this.addWindowListener(new
WindowAdapter() {
11. public
void windowClosing() {System.exit(0);}
12. >);
13. }
13. }
14.
} // fin de la clase VentanaCerrable
No hay comentarios:
Publicar un comentario