|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
[JAVA] Riavviare JFrame
Ciao a tutti... ho un evento che quando viene attivato deve resettare il JFrame togliendo alcuni oggetti che potrebbero essere nello schermo... c'è qualche modo per riavviare il JFrame allo stato iniziale? (Sono nella classe del JFrame stesso quindi non posso reinizializzare l'oggetto.. o c'è un modo?)
Non posso cancellare tutto il content pane perché alcune cose devono rimanere nel frame (tipo la menu bar in alto)
__________________
Ultima modifica di DevilMalak : 31-05-2008 alle 14:50. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
Non sono il più adatto per una risposta adeguata ma ci prova lo stesso.
Prova ad utilizzare il metodo Codice:
remove(Component comp) Codice:
SwingUtilities.updateComponentTreeUI(myFrame); prova e fammi sapere. EDIT: per utilizzare SwingUtilities.updateComponentTreeUI(myFrame) devi importare javax.swing.SwingUtilities
__________________
Ultima modifica di vincenzo83 : 31-05-2008 alle 15:16. Motivo: aggiunto: "per effettuare un aggiornamento" |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
grazie dell'aiuto ma il problema è che dentro al frame non sempre ci saranno gli stessi elementi quindi non posso rimuovere sempre qualcosa di specifico
Il metodo per aggiornare il JFrame dovrebbe essere myFrame.validate() a quanto so ma magari sbaglio o fanno cose diverse...Forse mi sono risolto da solo il problema mentre scrivevo questo reply grazie comunque!
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
Bene
Comunque giusto per la cronaca, esiste anche questo: Codice:
getComponents public Component[] getComponents() Gets all the components in this container. Returns: an array of all the components in this container. Considera che una volta recuperato l'array di Component, con il metodo getName() recuperi il nome del componente (conoscendo il nome, puoi decide se deve essere eliminato o meno ... credo) Ma non ho mai usato questi metodi ... quindi non sono sicuro di quello che ho scritto.
__________________
Ultima modifica di vincenzo83 : 31-05-2008 alle 20:08. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
sì in qualche modo basterà cercare tutti i JPanel e cancellarli appena li trovo (magari con un ciclo for e il metodo getComponent(int i) al posto di getComponents()
grazie Più tardi provo
__________________
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
ho provato in tutti i modi ma non va....
Codice:
for (int i=0;i<this.getComponentCount();i++)
{
if (getComponent(i).equals(griglia))
{
remove(griglia);
remove(definizioni);
validate();
}
}
(provato anche il metodo javax.swing.SwingUtilities.updateComponentTreeUI(this) citato sopra) qualche altra idea o qualcuno sa se sbaglio qualcosa?
__________________
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
Quote:
Comunque, prova a mettere dei println per controllare il valore restituito da getComponentCount() e per vedere se entra almeno una volta nell’if; in questo modo cerchi di isolare il problema. Fammi sapere se ti trovi con i println. EDIT: adesso non ricordo se è una cosa lecita ma, hai provato a sostituire if (getComponent(i).equals(griglia)) con if(getComponent(i) == griglia) ... considerando che stai cercando di vedere se fanno riferimento ad uno stesso oggetto ... prova
__________________
Ultima modifica di vincenzo83 : 01-06-2008 alle 16:25. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5988
|
risolto!!
Effettivamente entrava a malapena nel ciclo for perché contava un componente solo che non c'entrava nulla.... il metodo dell' == non ha funzionato( Codice:
if (help>0) //la prima volta non si può eseguire l'operazione perché griglia e definizioni non sono state ancora create
{
griglia.setVisible(false);
definizioni.setVisible(false);
}
help++;
grazie mille per l'aiuto e il tempo dedicato
__________________
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 458
|
Bene, Ciaoo
__________________
Ultima modifica di vincenzo83 : 01-06-2008 alle 21:54. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:48.











VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
ma magari sbaglio o fanno cose diverse...








