PDA

View Full Version : [java] finestra


tsone1
06-06-2006, 21:30
come si chiude un frame?
(voglio che quando premo il pulsante esci il frame mi venga chiuso, e non so che comando mi permette di chiudere una finestra)

andbin
06-06-2006, 21:49
come si chiude un frame?
(voglio che quando premo il pulsante esci il frame mi venga chiuso, e non so che comando mi permette di chiudere una finestra)Basta che fai:
setVisible(false);
dispose();

tsone1
06-06-2006, 22:12
ora provo grazie

edit:uhm non funziona benissimo.. in memoria rimane qualcosa...
se per esempio io continuo a "switchare" cliccando prima su login e poi su esci nella barra degli struemnti mi vengono aperte un sacco di finestre...
Inoltre se clicco su login, modifico il campo user che di default e vuoto scrivendo "pippo" nel jtext, clicco su esci, clicco su login il nel Jtext dell'user mi compare "pippo" .. invece in teoria dovrebbe essere nuovo...
dove sbaglio?

tsone1
06-06-2006, 23:05
ho scoperto quando mi rimangono le finestre aperte vuote...
Al primo passaggio login/esci (clicco su login e poi su esci) non mi viene lasciata nessuna finestra aperta
dal secondo passaggio login/esci mi vendgono lasciate le finestre di login visibile (vedo solo il frame senza i pulsanti)
come mai ho questo problema?

anx721
07-06-2006, 10:58
ma questo frame è quello principale la cui chiusura fa chiudere tutta l'applicazione? Se si metti nel costruttore del JFrame:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

altrimenti cliccando sul pulsante di chiusura del frame questo dovrebbe spaire da solo, a meno che non hai intercettato l'evento e gestito diversamente

tsone1
07-06-2006, 19:01
sono piu frame, c'è il frame principale e quello per il login, quindi non posso usare setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); perche mi chiuderebbe tutto giusto? invece io voglio solo che mi venga chiusa la finestra principale quando clicco su login ( o almeno nasconderla) e che venga riaperta quando clicco su esci (devo riaprire la principale e chiudere la secondaria)

anx721
07-06-2006, 21:00
allora usa setVisible(false) invocato sul frame principale da nascondere e poi setVisible(true) quando vuoi farlo riapparire

tsone1
07-06-2006, 21:15
allora usa setVisible(false) invocato sul frame principale da nascondere e poi setVisible(true) quando vuoi farlo riapparire

per far questo alla classe login gli dovrei passare come parametro il frame giusto? altrimneti non posso far riapparire il frame?

anx721
07-06-2006, 21:36
per far questo alla classe login gli dovrei passare come parametro il frame giusto? altrimneti non posso far riapparire il frame?

nel caso piu semplice si...altrimenti puoi utilizzare un listener dell'azione di login che si occupa di far sparire e riapparire la finestra