Bonjour.

Je suis en train de faire un outil de sélection a la souris sur mon panel.
voici mon code :

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
 
public void mousePressed(MouseEvent e){
 
                //recup coordonnées point de départ
	startX = (int)e.getPoint().getX();
	startY = (int)e.getPoint().getY();	
}
 
public void mouseReleased(MouseEvent e){
 
               stopX = (int)e.getPoint().getX();
               stopY = (int)e.getPoint().getY();
               dessine(panel.getGraphics());
}
 
 
public void mouseDragged(MouseEvent e) { 
 
              stopX = (int)e.getPoint().getX();
              stopY = (int)e.getPoint().getY();
              repaint();
              dessine(panel.getGraphics());
}
 
 
public void dessine(Graphics g) { 
 
   //dessin : bas-gauche vers haut-droit
   if(startX < stopX && startY > stopY){
   	 largeur = stopX-startX;
   	 hauteur = startY-stopY;
   	 g.drawRect(startX, stopY, largeur, hauteur);
   }
   //dessin : haut-gauche vers bas-droit
  if(startX < stopX && startY < stopY){
   	 largeur = stopX-startX;
   	 hauteur = stopY-startY;
   	 g.drawRect(startX, startY, largeur, hauteur); 
   }
   //dessin : bas-droit vers haut-gauche
  if(startX > stopX && startY > stopY){
   	 largeur = startX-stopX;
   	 hauteur = startY-stopY;
   	 g.drawRect(stopX, stopY, largeur, hauteur);
  }
  //dessin : haut-droit vers bas-gauche
   if(startX > stopX && startY < stopY){
   	 largeur = startX-stopX;
   	 hauteur = stopY-startY;
   	 g.drawRect(stopX, startY, largeur, hauteur); 
  }
 
 
}
Vous remarquerez que ma méthode repaint() est appelée sur mon MouseDragged() qui appelle repaint() (effacement de la figure précedemment dessinée) pui appelle la méthode dessine.

Mais j'ai un probleme:
Le dessin se passe tres bien (de maniere dynamique) : pendant le déplacement de ma souris, la figure précédente s'efface et la nouvelle se redéssine. Le nerf du probleme est que lorsque j'arrete de déplacer ma souris, l'image disparait (comme si un evenement on "MouseStopMoving" appelait une methode repaint).

D'ou ca vient svp ?