martes, 8 de octubre de 2013

Clase VeutanaCerrable - II

La sentencia 12 (addwindowiistener (this);) es muy importante y significativa sobre la forma en que el AWT de Java gestiona los eventos sobre las ventanas y en general sobre lo que es la interface gráfica de usuario. Cuando un elemento gráfico -en este caso la ventana- puede recibir eventos del usuario es necesario indicar quién se va a encargar de procesar esos eventos. De ordinario al producirse un evento se debe activar un método determinado que se encarga de procesarlo y realizar las acciones pertinentes (en este caso cenar la ventana y la aplicación). La sentencia 12 ejecuta el método a del Win el o wL i si en er() de la clase Frame (que a su vez lo ha heredado de la clase Window). El argumento que se le pasa a este método indica qué objeto se va a responsabilizar de gestionar los eventos que reciba la ventana implementando la interface WindowListener. En este caso, como el argumento que se le pasa es this. la propia clase VentanaCerrable debe ocuparse de gestionar los eventos que reciba. Así es. puesto que dicha clase implementa la interface WindowListener según se ve en la sentencia 4. Puede notarse que como el constructor por defecto de las sentencias 6-8 no utiliza el método addWindowListener(), si se construye una VentanaCerrable sin tímlo no podrá ser cenada del modo habitual. Así se ha hecho deliberadamente en este ejemplo para que el lector lo pueda comprobar con facilidad.
La interface WindowListener define los siete métodos necesarios para gestionar los siete eventos con los que se puede actuar sobre una ventana. Para cenar la ventana sólo es necesario definir el método windowCiosingQ. Sin embargo, el implementar una interface obliga siempre a definir todos sus métodos. Por ello en las sentencias 15-21 todos los métodos están vacíos (solamente el punto y coma entre llaves), excepto el que realmente interesa, que llama al método exit() de la clase System. El argumento "0" indica terminación normal del programa.

No hay comentarios:

Publicar un comentario