Bonjour,
Je me tourne vers vous après quelques heures de recherche sur votre site, mais rien ne semble correspondre à ma recherche.. D’où ma question, j'aimerai déplacer une image sur un JPanel a l'aide d'un Thread
J'ai déjà réussi a l'ajouter sur le Panneau mais je n'arrive pas a la faire se déplacer sur ce panneau c'est comme si le Thread ne voulais pas "agir"
j'espère que le code est suffisamment lisible, voilà je pense que c'est un problème au niveau de la méthode bouge() et que mon Thread ne sait pas modifier les coordonnées de mon image.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 package insertionimage; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import javax.swing.JFrame; import javax.swing.JPanel; class FenetrePrincipale extends JFrame { FenetrePrincipale () { setBounds(10,10,1280, 1024); setTitle("Test"); AfficheImage aff =new AfficheImage("animation-2.png"); setContentPane(aff); getContentPane().setLayout(new BorderLayout()); this.setVisible(true); } } class AfficheImage extends JPanel { private Image img; private int x = 100; private int y = 100; AfficheImage(String s) { img = getToolkit().getImage(s); } public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(eau, x, y, 480,200, this); } public void bouge() { x += 1; y += 2; } public Image getImage() { return img ; } } class ThreadImage extends Thread{ private AfficheImage aff; public ThreadImage(AfficheImage a) { aff = a; } public void run() { while(true) { try{ Thread.sleep(10); aff.bouge(); aff.repaint(); }catch(InterruptedException e) { e.printStackTrace(); } } } } class Affichages { public static void main(String[] args) { FenetrePrincipale test = new FenetrePrincipale (); } }
je ne vois pas comment procéder pour le faire fonctionner, auriez-vous une idée pour débloquer la situation ?
Cordialement.
Partager