Affichage en Multi-Thread

albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008 - 28 mai 2007 à 15:24
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 28 mai 2007 à 15:49
Bonjour,

Voici le deal:

j'ai un JFrame, sur ce JFrame j'ai d'un cote (gauche) une colone de boutons, et a droite une zone de dessins (des JPanel).

A chaque fois que je presse sur un bouton, un nouveau thread "ball" est cree, qui deplace une balle dans la zone de dessin de droite (une ball qui rebondie..)

J'ai un autre et unique thread qui fait deplacer un avion dans la zone dessin.
Et eventuellement un BAckground qui va se reaficher a chaque fois, pour pas laisser de trainées...

Ce que j'affiche ce sont des images (sprites), donc la du coup, si je n'utilise pas de Double-Buffering, VIVE le clignotage.

Bon, C'est la que j'ai un problème, je n'arrive pas a trouvé un moyen d'afficher toutes ces images, correcteemnt SANS cligontement.

J'ai deja essayé plusieurs chose:

Chaque thread affiche son buffer.. mais la ca rame sec (normale si je clique 40 fois sur lancer une balle... il y aura 40 buffer)

j'ai essayer d'implenter un buffer "unique" (un thread affichage qui s occupe d afficher le buffer), mais comme je fait des Sleep(random) pour les balles, Ca clignote beaucoup...

SI quelqu'un a un bonne solution à me proposer, je suis pronneur !

d'avance merci!

2 réponses

albert0 Messages postés 249 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 9 août 2008
28 mai 2007 à 15:26
désolé doublons
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
28 mai 2007 à 15:49
La modification des éléments swing par des thread externes doit etre réalisé à travers l'Event Dispatcher Thread à l'aide des swingworker, sinon ça clignote...
http://gfx.developpez.com/tutoriel/java/swing/swing-threading/
http://rom.developpez.com/java-swingworker/
0
Rejoignez-nous