2011-05-31 14 views
8

¿hay alguna manera fácil de eliminar a todos los oyentes de un JComponent?Cómo quitar los oyentes en SWING JComponents

JComponent widget = getComponentOverScaryMethod(); 
EventListener[] listners = widget.getListeners(EventListener.class); 
for (EventListener l : listners) { 
    widget.remove*RandomListener*(l); 
} 

Antecedentes:

Tengo un JComponent con una cantidad desconocida de Oyentes (tipos aleatorio). Como el widget debe eliminarse de la parte visible (y no será necesario de nuevo), debe destruirse (y los Listeners deben eliminarse).

Gracias de antemano Joan

+1

El componente no se volverá a utilizar? – RMT

Respuesta

1

si se quita el widget del padre que nunca debe ser activado por eventos de nuevo y el oyentes deben ser liberados automáticamente por gc

el onl y razón por la cual los oyentes no serían liberados es por una fuga que mantiene el widget accesible incluso cuando no debería ser

Cuestiones relacionadas