Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    Finestra che si chiude anch'essa

    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.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh...


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

    L'istruzione che ho sottolineato fa esattamente quello: chiude forzatamente la JVM.

    E, siccome non hai usato alcuna parentesi graffa nell'else... quell'istruzione viene eseguita sempre.

    Ciao.
    Ultima modifica di LeleFT; 31-07-2014 a 18:15
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Già


    Tanks

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.