Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    Chiudere una sottoFinestra

    Ciao

    Ho scritto un ascoltatore che serve per chiudere le finestre di un programma :

    codice:
    public class ascoltatoreChiudiFinestra implements ActionListener {
    	
    	private JFrame clickBottoneChiudi;
    	
    	
    	private int tipoFinestra;
    	
    	public ascoltatoreChiudiFinestra(JFrame clickBottoneChiudi){
    		
    		this.clickBottoneChiudi = clickBottoneChiudi;		
    		tipoFinestra = 0;
    	}
    	
    	public ascoltatoreChiudiFinestra(NotificaSalvataggioCambiamenti clickBottoneChiudi){
    		
    		this.clickBottoneChiudi = clickBottoneChiudi;
    		tipoFinestra = 1;
    		
    	}
    
    
    	
    	public void actionPerformed(ActionEvent e){
    		
    		switch(tipoFinestra){
    		case 0 :
    			clickBottoneChiudi.dispose();
    		case 1 :
    			clickBottoneChiudi.dispose();
                            // ?? come chiudo la finestra principale?
    			
    		}
    		
    	}
    
    
    }//ASCOLTATORE PER CHIUDERE LE FINESTRE
    Vorrei che alla chiusura di una determinata finestra , in particolare quella che notifica se si vogliono salvare i cambiamenti o no , venga chiusa anche la finestra principale .

    Come si fa?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    edit: errore mio sorry
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    O passi anche la finestra principale alla classe assieme a NotificaSalvataggioCambiamenti (aggiungemdo, quindi, un parametro al costruttore), oppure registri nella finestra "secondaria" un ascoltatore che, alla sua chiusura, chiude anche la principale (di cui dovrà, ovviamente, avere un riferimento).

    Ripeto che la cosa non mi piace particolarmente e, ripeto, i nomi delle classi si scrivono con la MAIUSCOLA.


    Ciao.
    "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

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Ho provato con il riferimento.

    Il fatto è che la Finestra InterfacciaPrincipale è già aperta , quindi istanziando un nuovo riferimento me ne chiude una e ne apre un'altra.

    L'interfaccia principale viene creata nel main del programma

    codice:
    public static void main (String [] args){
    
    new InterfacciaPrincipale();
    
    ....
    ....
    ....

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Risolto .
    Non avevo creato il riferimento nella classe principale.

    codice:
    public class InterfacciaPrincipale{
    
    public static InterfacciaPrincipale ip;
    
    ....
    ....
    ascoltatore :

    codice:
    public class ascoltatoreChiudiFinestra implements ActionListener {
    	
    	private JFrame clickBottoneChiudi;
    	private InterfacciaPrincipale ipChiudi;
    	private int tipoFinestra;
    	
    	public ascoltatoreChiudiFinestra(JFrame clickBottoneChiudi){
    		
    		this.clickBottoneChiudi = clickBottoneChiudi;		
    		tipoFinestra = 0;
    	}
    	
    	public ascoltatoreChiudiFinestra(NotificaSalvataggioCambiamenti clickBottoneChiudi , InterfacciaPrincipale ipChiudi){
    		
    		this.clickBottoneChiudi = clickBottoneChiudi;
    		this.ipChiudi = ipChiudi;
    		tipoFinestra = 1;
    		
    	}
    
    
    	
    	public void actionPerformed(ActionEvent e){
    		
    		switch(tipoFinestra){
    		case 0 :
    			clickBottoneChiudi.dispose();
    		case 1 :
    			clickBottoneChiudi.dispose();
    			ipChiudi.dispose();
    						
    		
    		}
    		
    	}
    
    
    
    
    }//ASCOLTATORE PER CHIUDERE LE FINESTRE

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 © 2026 vBulletin Solutions, Inc. All rights reserved.