Si agregué un MouseListener
usando Component#addMouseListener()
¿estoy obligado a eliminarlo usando removeMouseListener()
?¿Estoy obligado a llamar a removeMouseListener()?
Estoy pensando particularmente en términos de fugas de memoria del tipo que javax.swing.Timer
puede causar si stop()
no se llama.
No encuentro nada en la documentación que indique que los oyentes deben eliminarse, pero quizás esté pensando que esto es algo que el autor podría asumir. Quizás.
La inspección de la fuente JDK sugiere que, a falta de referencias en los propios oyentes del mouse que lo impidan, la presencia de un oyente no impedirá que un componente elegible sea GC'd.
Supongo que, dada la máxima "es mejor prevenir que lamentar", realmente estoy preguntando si alguien me puede indicar alguna documentación que indique que no es obligatorio eliminar cualquiera de los detectores de mouse, o el caso más general de cualquier oyente
Esto confirma lo que estoy viendo desde el Código fuente JDK. Supongo que estaba buscando una garantía más sólida que esta, pero parece que esa garantía no existe en ninguna documentación que pueda encontrar. – msandiford