[Gvsig_desarrolladores] clase View

Vicente Caballero Navarro vicente.caballero en iver.es
Lun Mayo 21 17:36:23 CEST 2007


Hola Ángel.

Puedes implementar en la clase View la gestión de tus propios listeners, 
tendrás que añadir a View:
un ArrayList donde ir almacenando tus listeners.
private ArraList listeners=new ArrayList();

un método para añadir tus listeners.
public addMyListener(MyListener l){
    listeners.add(l);
}
la interfaz de tus listeners.
public interface MyListener{
void executeMyAction();
}
la clase que implemente tu interfaz.

y por último en el método closeWindow() de View añades la llamada a tus 
listeners.
for (int i=0;i<listeners.size();i++){
    ((MyListener)listeners).executeMyAction();
}

En principio esto te funcionaría pero eso sí tendrías que modificar la 
clase View.

Espero haber ayudado.
Un saludo.

-- 
Vicente Caballero Navarro
Grupo desarrollo gvSIG.
IVER TI S.A.
C/ Lérida, 20
46005-Valencia
Tlf.+34963354983
www.iver.es
www.gvsig.com




Angel Rodriguez Fernandez escribió:
> Gracias por contestar tan rápido,
>
> Si, ya me fijé que View implementa a IWindowListener por lo que tiene 
> metodos que son llamados cuando ocurren esos eventos. Pero es que la 
> instancia de View me viene dada y ya instanciada, no puedo extender la 
> clase View para redefinir el windowClosed() que es el que me interesaba.
> Para que me entendais lo que quiero es:
>    - El ususario con la vista abierta pulsa mi extensión
>    - Consigo la clase View activa.
>    - (*) Le asocio un listener para saber cuando se cierra
>    - Cuando se cierre la vista cierro también mi extensión.
>
> Marque con el asterisco lo que no se hacer.
>
> Muchísismas gracias Cesar. Un abrazo
> Anxo
>
> ----- Original Message ----- From: "Cesar Martinez Izquierdo" 
> <cesar.martinez en iver.es>
> To: "Lista de Desarrolladores de gvSIG" 
> <gvsig_desarrolladores en runas.cap.gva.es>
> Sent: Monday, May 21, 2007 4:50 PM
> Subject: Re: [Gvsig_desarrolladores] clase View
>
>
>> Angel Rodriguez Fernandez wrote:
>>> Hola,
>>>
>>> quería añadir un IWindowListener a una clase View ya instanciada, es
>>> para saber cuando se cierra la vista. ¿Alguien sabe como?
>>
>> Basta con que la clase implemente IWindowListener; de esta forma
>> recibirá automáticamente los eventos. (Andami/Core Plugin se encarga de
>> ello).
>>
>> Saludos,
>>
>> -- 
>> César Martínez Izquierdo
>> Equipo de desarrollo gvSIG
>> http://www.gvsig.gva.es
>>
>> IVER T.I.
>> C/ Salamanca 50
>> 46005 Valencia - Spain
>> http://www.iver.es
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>




Más información sobre la lista de distribución gvSIG_desarrolladores