Bonjour;
Je veux faire contrôler la création de mes images avec la methode paint(Graphis g) d'une classe par un Thread d'une autre classe, j'ai essayé d'utiliser un objet de ma classe qui crée les images dans ma class thread du coups ça il y a rien qui s'affiche dans ma fenetre JPanel et la je me démande quoi pour que le thread puisse synchroniser la création de mes images, voici mon code
Voici la classe qui crée les images.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class ThControl extends SwingWorker<Object, String> { private boolean actif = true; private static final int DELAI = 100; creeImage c= new creeImage (); //Graphics g = null; @Override protected Object doInBackground() throws Exception { while(actif) { Thread.sleep(DELAI); c.paint(g) /****Je me demande quoi mettre ici pour que je puis coordonner le deplacement de mes images entre par exemple lorque jmon compteur atteint 5 deux imagesou trois quittent le point depart1, lorqu'elles arrivent à la position de l'image2 elles disparassent et provoque le depart de l'image 2 ****/ } return null; } }
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public class creeImage extends JPanel { public void paint(Graphics g) { super.paint(g); // On ajoute à la position le delta x et y de la vitesse depart1.translate(-vitesse.x, -vitesse.y); depart2.translate(-vitesse.x, vitesse.y); try { element1= ImageIO.read(new File("image1.png")); element2 = ImageIO.read(new File("image2.png")); } catch (Exception ex) { ex.printStackTrace(); } //g.drawImage(avion, position2.x, position2.y, this); if(depart1.x >= depart1.x ) g.drawImage(element1, depart1.x, depart1.y, this); ifdepart2.x <= 15) g.drawImage(element1,ifdepart2.x, ifdepart2.y, this); }
Partager