Sono in questa condizione, ho creato una classe EliminatoreOntologie a cui passo il riferimento di una Jlist e del ModelList ad essa associato; all'interno della classe creo un'ascoltatore per vedere dov'è il mouse quendo clikko 2 volte e cancellare il termine che seleziono.

Il Problema: se instanzio più volte la classe EliminatoreOntologie in esso si sovrappongono più volte gli ascoltatori (che la garbage collector non fa in tempo ad eliminare) e quindi mi viene eseguito più volte la procedura di cancellazione ... come di fa a far chiudere l'oggetto e forzarlo a finalizzarsi?

codice:
public class EliminatoreOntologie {
    DefaultListModel listModel;
    JList jListOntologie;
    
    /** Creates a new instance of EliminatoreOntologie */
    
    public EliminatoreOntologie(JList JlistaOnt, DefaultListModel lm) {
        jListOntologie=JlistaOnt;
        listModel=lm;
        //JFormPrincipale=JFormPri;
    }
    
    public void EliminaSingOntologia() {
         jListOntologie.setEnabled(true);
         
         MouseListener mouseListenerList = new MouseAdapter() {
             public void mouseClicked(MouseEvent e) {
                 if (e.getClickCount() == 2) {
                    //Controllo se la lista è vuota
                    if (listModel.getSize()>0) {
                        int index = jListOntologie.locationToIndex(e.getPoint());
                        listModel.removeElementAt(index);
                        jListOntologie.setEnabled(false);
                    }
                              
                 }
                 
             }
        };
        
        jListOntologie.addMouseListener(mouseListenerList);        
    }
      
}
So che ci sono comandi per eliminare l'ascoltatore come removeMouseListener(..)
ma non riesco ad inserirlo all'interno del codice ....