J'ai un conteneur contenant JComponents
comme JButton
ou JSlider
ayant des écouteurs (onClick, onValueChanged ...). Parfois, le contenu des conteneurs est supprimé avec container.removeAll()
et rempli avec JComponents
. Les écouteurs des composants contiennent des références aux instances d'objets persistants.Est-ce que le composant # removeAll() nettoie Observer/Listeners des contrôleurs supprimés?
Ma question est maintenant, est-ce que le GC
nettoie les écouteurs des anciens composants qui ont été supprimés?
Ok, merci. J'ai doublé un peu et j'ai aussi découvert que les listeners deviennent GCed dans mon cas après 'removeAll()'. J'ai toujours utilisé 'WeakReferences', par ex. pour une utilisation avec Observers, je n'étais pas au courant de 'PhantomReference's. Je vais lire à ce sujet, merci! – alex