Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Refresh application

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60

    Refresh application

    Salve a tutti..
    Una piccola domanda..
    E' possibile fare un refresh dell'applicazione se un JFrame viene chiuso?
    Cioè far in modo che tutte le variabili si svuotino e ricominci tutto da zero?
    Se si come si fa???
    Grazie mille..

    Ale

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Refresh application

    Originariamente inviato da parzi
    E' possibile fare un refresh dell'applicazione se un JFrame viene chiuso?
    Cioè far in modo che tutte le variabili si svuotino e ricominci tutto da zero?
    Se si come si fa???
    Se intendi variabili di istanza di vari tuoi oggetti .... sono sotto il tuo completo controllo. Quindi fai tu quello che devi fare per azzerare o reinizializzare quello che vuoi. E se lo devi fare a seguito di qualche evento, si tratta solo di gestirlo nel modo/momento appropriato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Ti spiego come è la situazione.. Ho un'interfaccia principale.. viene premuto un Jbutton e si apre un altro JFrame e quello precedente lo faccio diventare invisibile.. poi da questo se l'utente vuole può aprirne un altro e così via.. L'applicazione lavora benone finchè un utente per caso non chiude i JFrame a ritroso.. in tal caso tutte le informazioni contenute nelle variabili sono mantenute e i Jframe nascosti ricompaiono..
    Io vorrei che quando viene chiuso il JFrame prima dell'interfaccia principale l'applicazione faccia come un restart (cioè variabile vuote e Jframe invisibili chiusi) in modo che l'utente possa ricominciare da zero..
    Inoltre il problema principale è poi tutto questo al tasto (X) di chiusura di quel JFrame..

    Consigli???

    Grazie mille..

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da parzi .
    Inoltre il problema principale è poi tutto questo al tasto (X) di chiusura di quel JFrame..

    Consigli???

    Grazie mille..
    Aggiungi un WindowListener al JFrame in questione e ridefinisci il metodo windowClosing(WindowEvent).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Non riesco.. non capisco come mai..
    La sintassi è corretta..
    Ma nulla succede...

    idee??

    Posto qui il codice..


    codice:
    nomeFrame.addWindowListener(new WindowAdapter() {
    		public void windowClosing(WindowEvent e) {
    			e.getWindow().setVisible(false);
    			e.getWindow().setVisible(true);
    		}
    	});

    grazie mille!!!

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da parzi
    Non riesco.. non capisco come mai..
    La sintassi è corretta..
    Ma nulla succede...

    idee??

    Posto qui il codice..


    codice:
    nomeFrame.addWindowListener(new WindowAdapter() {
    		public void windowClosing(WindowEvent e) {
    			e.getWindow().setVisible(false);
    			e.getWindow().setVisible(true);
    		}
    	});

    grazie mille!!!
    In questo modo stai semplicemente facendo riapparire la tua finestra dopo averla nascosta... Cosa pensavi di fare? Se vuoi "ripristinare" lo stato iniziale dell'applicazione devi occupartene tu manualmente!
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    ho sbagliato a scrivere scusate

    la seconda riga di codice del metodo è:

    codice:
    e.getWindow().dispose();
    ho trovato su internet che chiude tutte i processi legati al JFrame e li azzera..
    non è corretto???

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da parzi
    ho sbagliato a scrivere scusate

    la seconda riga di codice del metodo è:

    codice:
    e.getWindow().dispose();
    ho trovato su internet che chiude tutte i processi legati al JFrame e li azzera..
    non è corretto???
    Dalla documentazione:

    "Releases all of the native screen resources used by this Window, its subcomponents, and all of its owned children. That is, the resources for these Components will be destroyed, any memory they consume will be returned to the OS, and they will be marked as undisplayable.
    The Window and its subcomponents can be made displayable again by rebuilding the native resources with a subsequent call to pack or show. The states of the recreated Window and its subcomponents will be identical to the states of these objects at the point where the Window was disposed (not accounting for additional modifications between those actions)."

    Se tu hai delle tue variabili (che rappresentano lo "stato" della tua istanza) queste non vengono reinizializzate! Devi provvedere tu a farlo!

    Esempio: hai un attributo "contatore" che durante l'esecuzione del programma continui ad incrementare. Alla chiusura della finestra vuoi azzerare questo valore: devi essere tu a farlo, se tu non scrivi il codice per farlo il programma non può sapere quello che tu vuoi fare!
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.