domingo, 2 de febrero de 2014

Clases Adapter - II

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);
9.         setSize(500,500);
10.        this.addWindowListener(new WindowAdapter() {
11.                            public void windowClosing() {System.exit(0);}
12.                         >);
13.                         }
14.
} // fin de la clase VentanaCerrable

No hay comentarios:

Publicar un comentario