Bonjour help SVP, je ne vais pas passer par 4 chemins car je méga-bloque voilà :
J'ai une classe contenant une méthode qui me tracer un cercle à chaque fois que je l'appelle; elle est ici cette classe :
Une deuxème classe qui en fait une frame, dans laquelle j'appelle la méthode trace cercle, voici des bouts de cette classe (car llongue quand même)
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 public abstract class Affiche_TStation extends JPanel implements MouseInputListener{ private static final long serialVersionUID = 1L; public int CrdX,CrdY,LRayon; int u,v,w; int ma_matrice[][]; public Affiche_TStation(){ this.CrdX = CrdX; this.CrdY = CrdY; this.LRayon = LRayon; } //****************************************************** public int getCrdX(){ return CrdX; } public void setCrdX(int CrdX){ this.CrdX = CrdX; } //******************************************************* public int getCrdY(){ return CrdY; } public void setCrdY(int CrdY){ this.CrdY = CrdY; } //******************************************************** public int getLRayon(){ return LRayon; } public void setLRayon(int LRayon){ this.LRayon = LRayon; } //******************************************************** public void tracer_cercle(int X, int Y, int Rayon, BufferedImage BfrImg){ Graphics2D g = (Graphics2D)BfrImg.getGraphics(); g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f )); g.setColor(Color.blue); g.fillOval(X, Y, Rayon, Rayon); g.setColor(Color.red); g.fillRect(((X+(Rayon/2))-(Rayon/20)), ((Y+(Rayon/2))-(Rayon/20)), Rayon/10, Rayon/10); //stockage des coord ici peut être ??? setCrdX(X); setCrdY(Y); setLRayon(Rayon); //stocke_stations(X,Y,Rayon); } }
Le traceur :
Et enfin le bouton qui m'aide à tracer ici :
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 traceur = new Affiche_TStation() { private static final long serialVersionUID = 1L; public void init(){ addMouseListener(this); addMouseMotionListener(this); } @Override public void mousePressed(MouseEvent e){ CrdX = e.getX(); CrdY = e.getY(); tracer_cercle(CrdX,CrdY,S,BfrImage); //repaint(); } @Override public void mouseDragged(MouseEvent e){ if(contains(e.getX(), e.getY())){ CrdX = e.getX(); CrdY = e.getY(); tracer_cercle(CrdX,CrdY,S,BfrImage); //repaint(); } } }
Quand j'execute, mes cercles sont dessinés, seulement voilà que ma fenetre faite comme si elle n'avait pas d'écouteurs, càd que quand je clique sur le cercle pour le deplacer, rien ne se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 bouton.addActionListener(new ActionListener() { // Blabla traceur.tracer_cercle(a,b,S,BfrImage); } );
Avez-vous une idée SVP ?
Partager