Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione
realme C100x scommette tutto, forse troppo, sulla batteria da 7500 mAh e sulla certificazione ArmorShell per farsi notare nella fascia più economica del mercato: lo abbiamo messo alla prova per capire a chi è rivolto questo smartphone che sacrifica un po' prestazioni, display e fotocamera per offrire l'autonomia migliore possibile a un prezzo decisamente contenuto
Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-05-2008, 21:50   #1
DevilMalak
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 13:50.
DevilMalak è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 14:00   #2
vincenzo83
Senior Member
 
L'Avatar di vincenzo83
 
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)
della classe JFrame, per rimuovere i componenti che desideri, dopodiché fai un
Codice:
SwingUtilities.updateComponentTreeUI(myFrame);
per effettuare un aggiornamento del JFrame (myFrame deve essere un riferimento al tuo JFrame)

prova e fammi sapere.


EDIT: per utilizzare SwingUtilities.updateComponentTreeUI(myFrame) devi importare javax.swing.SwingUtilities
__________________
VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
Dooove ? leggete: www.hwupgrade.it/forum/showthread.php?t=1703702


Ultima modifica di vincenzo83 : 31-05-2008 alle 14:16. Motivo: aggiunto: "per effettuare un aggiornamento"
vincenzo83 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 17:32   #3
DevilMalak
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 potrei inserire tutti gli elementi in alcuni JPanel e dopo (utilizzando proprio il metodo remove(comp) rimuoverei semplicemente tutti i JPanel (che non sarebbero più di 3 o 4 penso)

grazie comunque!
__________________
DevilMalak è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 18:54   #4
vincenzo83
Senior Member
 
L'Avatar di vincenzo83
 
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.
__________________
VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
Dooove ? leggete: www.hwupgrade.it/forum/showthread.php?t=1703702


Ultima modifica di vincenzo83 : 31-05-2008 alle 19:08.
vincenzo83 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2008, 11:48   #5
DevilMalak
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
__________________
DevilMalak è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2008, 14:50   #6
DevilMalak
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();
            }
        }
ho provato anche scrivendo soltanto griglia.setVisible(false) ma non va ugualmente...
(provato anche il metodo javax.swing.SwingUtilities.updateComponentTreeUI(this) citato sopra)
qualche altra idea o qualcuno sa se sbaglio qualcosa?
__________________
DevilMalak è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2008, 15:04   #7
vincenzo83
Senior Member
 
L'Avatar di vincenzo83
 
Iscritto dal: Jun 2001
Messaggi: 458
Quote:
Originariamente inviato da DevilMalak Guarda i messaggi
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();
            }
        }
ho provato anche scrivendo soltanto griglia.setVisible(false) ma non va ugualmente...
(provato anche il metodo javax.swing.SwingUtilities.updateComponentTreeUI(this) citato sopra)
qualche altra idea o qualcuno sa se sbaglio qualcosa?
Allora, non ho la possibilità di compilare in java ( … però devo dire che questa discussione mi fatto ritornare la voglia di fare qualche programma java).
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
__________________
VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
Dooove ? leggete: www.hwupgrade.it/forum/showthread.php?t=1703702


Ultima modifica di vincenzo83 : 01-06-2008 alle 15:25.
vincenzo83 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2008, 16:24   #8
DevilMalak
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() ma mi è venuta l'idea stupida/geniale di creare una variabile d'istanza inizializzata a zero alla creazione del frame e poi fare così:
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++;
metodo stupidissimo che però funziona

grazie mille per l'aiuto e il tempo dedicato
__________________
DevilMalak è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2008, 19:08   #9
vincenzo83
Senior Member
 
L'Avatar di vincenzo83
 
Iscritto dal: Jun 2001
Messaggi: 458
Bene, Ciaoo
__________________
VIDEOLEZIONI di Matematica, Informatica, Fisica I & II e MOLTO altro, GRATIS !!!
Dooove ? leggete: www.hwupgrade.it/forum/showthread.php?t=1703702


Ultima modifica di vincenzo83 : 01-06-2008 alle 20:54.
vincenzo83 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Disastro PureTech 1.2: un kit aftermarke...
Vivo X Fold 6 in arrivo in Italia: la da...
Windows 11 26H2 disponibile: ecco come o...
Samsung aggiorna SmartThings su iPhone, ...
Microsoft ha sospeso la distribuzione di...
OpenAI annuncia Dots: gli assistenti IA ...
Overclock folle sulla RTX 5070 Ti: la GD...
AMD esclusa dai Surface? Microsoft rompe...
NetApp Novus, 100 TB al secondo per sfru...
Spotify giù da ore: se non trovi una can...
Sky con Netflix incluso da 16,99€/mese: ...
Anthropic verso la Borsa: 42 miliardi di...
Data repatriation: cos'è e come S...
ProsperoEden: l'emulatore funzionante ch...
La sonda spaziale ESA JUICE ha effettuat...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v