Java : ralentir l'affichage

scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003 - 8 août 2003 à 20:06
sephiroth1020 Messages postés 56 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 octobre 2005 - 29 juin 2005 à 12:18
Bonjour,
Je debute en java et j'essaie de manipuler les fonctions graphiques... et aujourd'hui : problème

Voila, je simule un embouteillage grace a une applet java.

Mon programme :
1) initialise les voitures
2) les fait bouger
3) appelle la fonction repaint (qui devrait appler la fonction paint non ?)
4) dans la fonction paint j'affiche les voitures.
et de nouveau je fais bouger les voitures et ainsi de suite.

Le problème c'est que tout va trop vite. et qu'il n'affiche que le dernier etat (en gros au bout de 500 itérations). L'affichage n'est pas remis a jour.

J'ai essayé de le ralentir en inserant des boucles for inutiles mais rien ni fait. Il ne m'affiche que le dernier etat.

Peut on forcer l'affichage ?

Merci

6 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
9 août 2003 à 00:07
faut crée des threads

regarde mon projet "jeux de shooting" j'en utilise pliens

là tu pourras faire des sleep pour ralentir un peu

c'est vraiment pas compliquer à faire
implement Runnabled

puis dasn ton run, tu fais ton déplacement
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
9 août 2003 à 09:53
-------------------------------
Réponse au message :
-------------------------------

> faut crée des threads
>
> regarde mon projet "jeux de shooting" j'en utilise pliens
>
> là tu pourras faire des sleep pour ralentir un peu
>
> c'est vraiment pas compliquer à faire
> implement Runnabled
>
> puis dasn ton run, tu fais ton déplacement
>

Tout d'abord merci !! :-)

Par contre je vais chercher ce que dasn mon run peut vouuloir dire de meme runnobled.
Si j'ai un probleme Je remettrais un message sur ce forum.
encore merci
Scapulac
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
9 août 2003 à 14:33
pour ton projet, l'idéal, ça serait de crée une class voiture qui implement Runnabled (un conseil, si tu connais moindrement les label, utilise les au lieu des graphics, c'est plus facile à faire déplacer). Tu peut aussi extend la class jLabel, comme ça tes voiture, seront des thread et de label en plus (C'est ce que j,ai fait dans mon projet)

une class tableau qui démarre les voitures. et grâce à la méthode getCompomentAt(), tu peut en tout temps savoir quel élément se trouve à cette endroit
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
11 août 2003 à 13:42
Merci pour ton aide.

Sur tes conseils j'ai cercher un peu d'aide les threads et j'ai trouver de quoi faire e que je voulais. un petit copier coller et hop. Mon programme n'aura peu etre pas l'air tres zesthetique mais ca fonctionne.

encore merci

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
11 août 2003 à 16:34
de rien, l'avantage avec des thread, c'est que tu peut mettre un peut de random, comme des voiture qui vont plus vite que d'autre, par exemple
sephiroth1020 Messages postés 56 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 octobre 2005
29 juin 2005 à 12:18
Il existe une solution plus facile :

repaint(long temps_de_rafrechissement_en_miliseconde);
Rejoignez-nous