Bonjour,
Certains reconnaitrons le début du post. j'ai un panel contenant plusieurs composants graphiques.
J'ai la possibilité de les déplacer.
Pour cette exemple on va dire que j'ai 2 composants : A un gros, et B un petit.
si je déplace B sans passer sur A tout va bien. si je passe B sur A, mais sans que B soit totalement dans A, mon image scintille, c'est un probleme, mais ce n'est pas le sujet, par contre si je met completement mon image B sur A (je suis toujours en déplacement - dragged) alors là, c'est la catastrophe, mon image de B ne correspond plus à elle meme mais correspond a une partie de l'image de A....

en image cela donne :
au départ.


superposition partielle :


superposition totale :


je vous joins aussi le code qui met à jours le panel...

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
 
  /**
   * Rafraîchit les composants ajoutés au DesignPanel.
   * 
   * Un tri est effectué pour qu'apparaissent en premier plan les formes spéciales.
   **/
 
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    int count = getComponentCount();
    Component[] pacComponents = new Component[count];
    Component[] specialForms = new Component[count];
    Component[] other = new Component[count];
    int j = 0;
    int k = 0;
    int l = 0;
    for (int i = 0; i < count; i++) {
      Component component = getComponent(i);
      if (component instanceof PacComponent) {
        pacComponents[j] = component;
        j++;
      } else if (component instanceof SpecialForm) {
        specialForms[k] = component;
        k++;
      } else {
        other[l] = component;
        l++;
      }
    }
    // On commence par dessiner les others.
    for (int m = 0; m < l; m++) {
      //other[m].repaint();
      other[m].paint(g);
    }
    // Ensuite on dessine les pacComponents.
    for (int m = 0; m < j; m++) {
      pacComponents[m].repaint();
    }
    // EnFin, dessine les formes spéciales.
    for (int m = 0; m < k; m++) {
      specialForms[m].paint(g);
    }
  }
moi mes composants sont des PacComponent....
si qq'un voit d'ou vient l'erreur...