Ciao a tutti!

Sono un novellino autodidatta di java che sta costruendo un'applicazione gestionale.
Il mio problema è questo: ho creato una JList in un menu che mi permette di selezionare il nome dell'inquilino di cui modificare i dati, e quindi mi apre un'apposita finestra a selezione avvenuta.

Il problema principale che ho è che mi apre due finestre identiche invece che una. Ho provato a giocare un po' con il getValueIsAdjusting, ma ho risultati a mio parere curiosi.

Il codice:
codice:
listSM.addListSelectionListener (new ListSelectionListener() {
     public void valueChanged (ListSelectionEvent e) {
          if (e.getValueIsAdjusting()==false){
               System.out.println(e.getLastIndex());
               System.out.println(e.getValueIsAdjusting());
               ...apertura della finestra...
          }
     }
}
I due println li ho messi come check. Il problema che mi si presenta è che in tutte due le letture il valore di getValueIsAdjusting risulta false.
La cosa ancora più strana è che se commento l'if il valore risulta entrambe le letture true, e se lascio l'if ma con la clausula ==true anche in questo caso risulta tutte e due le volte true.
Risultato: comunque io agisca mi apre sempre due finestre identiche.
Non ho proprio idea di cosa fare.

Grazie mille in anticipo!