Thread obsoleto Problema di doubleBuffer !

Stato
Discussione chiusa ad ulteriori risposte.

Stefano Lisi

Nuovo utente
Autore del topic
9 Novembre 2015
3
0
Miglior risposta
0
Probelma nella creare un vettore di Oggetti!

Apro questa discussione con la speranza di poter risolvere questo problema che mi sto trascinando da giorni a questa parte.

Salve a tutti, premetto che non ho al momento ampie conoscenze con questo linguaggio di programmazione, in quanto lo sto studiando da circa un anno a scuola (frequento il quinto anno di Informatica), e un po' a casa da autodidatta.


Il programma che ho realizzato è basato semplicemente su 3 classi:


-creaOggetti (Main e creazione Oggetti)
-Processo (classe che richiamo all'esecuzione del Thread per avviare il programma )
-Oggetto (classe nella quale disegno l'oggetto, in questo caso ovali e ne definisco le caratteristiche)


In sostanza lo scopo del programma è creare dei cerchi sullo schermo, e farli muovere.
Creando manualmente uno, due, tre o piu' oggetti, il programma funziona benissimo, mi crea gli oggetti e li disegna sullo schermo, ma nel momento in cui rendo "Dinamica" la cosa, creando un vettore di oggetti, essi non compiono sullo schermo, penso sia dovuto al fatto che non riesce a disegnarli ma non so per quale ragione.


Ecco il codice:


Classe Processo (non penso proprio sia qui il problema):


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Classe Oggetto:


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Classe creaOggetti (penso sia nel print l'errore):


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Spero di poter risolvere al piu' presto, intanto vi ringrazio in anticipo!


Non compaiono gli oggetti sullo schermo !
 
Ultima modifica:
Perché non usi un Canvas? con BufferStrategy non dovresti avere problemi. Nel canvas dovresti limitare l'update ad 60 UPS per evitare appunto questi problemi. Non so se sia uguale per il JPanel perché ho solo disegnato figure fisse nel JPanel, prova a limitare le volte in cui vai ad aggiornare la figura a 60 volte al secondo. (Crei un 'cronometro' anche basandoti sui millisecondi (1000ms = 1 secondo) c'è un metodo di System se non sbaglio System.getCurrentTimeMillis())
 
Ultima modifica:
Sono riuscito a risolvere! Però una volta che creo questi due oggetti manualmente (Oggetto o1=new ... Oggetto o2= new ...), funziona tutto alla perfezione, ma provando a rendere dinamiche le cose, creando un vettore di quegli oggetti nulla funziona piu', poiché non compaiono sulla finestra (frame), come se non li disegnasse.
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.