3,5. Sucessos y Escuchadores


3,5. Sucessos y Escuchadores

Vaadin tiene un “dirigidor de sucesso” pasos de programacion para manejar “las interacciones del usuario”. Cuando un usuario hace algo, como un click en un botón o seleccionar algo, la App tiene que informar-se. Muchos “cuadros de trabajo” usan “las interacciones de usuario” basadas en Java que usan el “Event-Listener - Escuchador de successo” (tambien se le llama "Los pasos del disenyo del Observador) para conectar las “introducciones” del usuario con “Pasos/Logica de datos” de la App. "Los pasos del dissenyo tienen 2 elementos: un objeto que “dispara” sucessos y unos cuantos "Escuchadores que escuchan estos sucessos. Cuando ocurre un evento, las piezas envian un mensaje a todos los escuchadores. En general solo hay un “Escuchador”.

Los sucessos se usan para distintas funciones. En Vaadin se usa para manejar las interacciones del usuario. El manejo de una session nessesita algunos “Successos”, algunos como “time-out”, los eventos deverian estar “fusionados” con “las interacciones del usuario”. El Time-ous es un sucesso de tipo tiempo, cuando ha passado el “tiempo determinado”. La base de datos y otras comunicaciones simultaneas pueden crear eventos, al pasar ese periodo de tiempo.

Para interceptar eventos de algun tipo en concreto, el App tiene que registrar un “Escuchador” en el código de la App. Los Escuchadores són fusionados a las piezas con la frase “addListener() - SumaEscuchador()”. Esta frase simplifica “unos codigos” en el nivel de “piezas iconográficas”, las bases de todas las piezas.

La mayoria de piezas que tienen fusionado un sucesso, crean su propia “classe” de sucesso, y se conectan con “classes” escuchadoras. Por ejemplo:el botón tiene “Button.ClickEvent - Bóton.SucessoClick”, que puede ser escuchado usando “Button.ClickListener - Botón.EscuchadorClick”.

En el siguiente codigo manejamos los sucessos, de los clicks de en un botón, con un listener fusionado en una classe anonima:

final Button button = new Button("Push it!");  

button.addListener(new Button.ClickListener() {     
    public void buttonClick(ClickEvent event) {                
        button.setCaption("You pushed it!");                            
    }                                                                             
});                          

porteria Botón botón = nuevo Botón("Pulsalo");

botón.sumaEscuchador(nuevo Botón.EsuchadorClick) {
   manifestación vacio botónClick(ClickSucesso sucesso) {
      botón.creaTitulo("Lo has pulsado!");
   }
});

La figura 3.3 Estructura de la classe en un botón escuchador de click" muestra una classe App en concreto que fusióna la interaccion “Button.ClickListener - Botón.EscuchadorClick” para que este activada para escuchar “Sucessos click en Botones”. La App tiene que “fotografiar el sucesso” la classe de escuchador y registrar el sucesso con “addListener() - sumaEscuchador”. Cuando un sucesso ocurre, un sucesso objeto es creado/fotografiado, en este caso “ClickEvent - SucessoClick”. El “objeto sucesso” sabe de que “pieza de interacciones de usuario” ha salido el suceso, en este caso del “Button - Botón”.

Figura 3.3. Estructura de una clase en un botón esuchador de click"

Antiguamente con la programacion en C, la “ceremónia rellamar” hacia lo mismo que hace el Escuchador. En lenguas direccionadas hacia objetos, solo se tienen Classes y Pasos, no hay “Ceremonias - Functions”, i la App tiene que dar una “classe de interacciones” en vez de un “indicador de ceremonia rellamar” al “Cuadro de texto”. Vaadin también puede usar “Pasos” envez de “Escuchadores” usando el paso/agrupador “MethodListener - PasoEscuchador”.

Date cuenta que muchos “Escuchadores de interacciones” heredan el superinteraccionador “java.util.EventListener”, pero en general no hace falta heredarlo.

En el Capitulo 4.4 “Manejando Sucessos con Escuchadores” habla con mas detalle del manejo de sucessos a la práctica.