Ciao a tutti.

Ho associato ad un bottone di un programma (bottone "Esci") un ascoltatore che a seconda dei casi chiude il medesimo oppure fa apparire un'altra finestra per notificare se si vogliono salvare i cambiamenti.

codice:
public class ascoltatoreBottoneEsciProgramma implements ActionListener {
    
    private InterfacciaPrincipale RifIP;
    
    public ascoltatoreBottoneEsciProgramma(InterfacciaPrincipale RifIP){
        
        this.RifIP = RifIP;
    }


    
    public void actionPerformed(ActionEvent e){
        
        if(InterfacciaPrincipale.flagModifica==true){
            NotificaSalvataggioCambiamenti.nsc = new NotificaSalvataggioCambiamenti();
        }
        else
            RifIP.dispose();
            System.exit(0);
    }


}//ASCOLTATORE BOTTONE ESCI PROGRAMMA
Questa finestra di notifica ha due bottoni : "SI" "NO" ;

Al bottone "NO" ho associato un ascoltatore che chiude la finestra :

codice:
public class ascoltatoreChiudiFinestra implements ActionListener {
    


    private JDialog RifJDialog;
    private InterfacciaPrincipale RifInterfacciaP;
    private FinestraVendiArticolo RifFinestraVA;
    private int tipoFinestra;


    
    public ascoltatoreChiudiFinestra(JDialog RifJDialog){
        
        this.RifJDialog = RifJDialog;    
        tipoFinestra = 0;
    }
    
    public ascoltatoreChiudiFinestra(FinestraVendiArticolo RifFinestraVA){
        this.RifFinestraVA = RifFinestraVA;
        tipoFinestra = 1;
    }

    public void actionPerformed(ActionEvent e){
        
        switch(tipoFinestra){
        case 0 :
            RifJDialog.dispose();
            break;
        case 1 :
            RifFinestraVA.dispose();
            InterfacciaPrincipale.Jtable.setRowSelectionAllowed(true);
            break;
   
        }        
    }


}//ASCOLTATORE PER CHIUDERE LE FINESTRE
Vorrei capire perchè quando clicco il pulsante "NO" oltre a chiudersi la finestra di notifica , si chiude anche la finestra principale del programma.