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