Bonjour à tous,

J'ai un JPanel, disons de 300x300 pixels. Dans ce panel, je dessine une série de pixels définis dans un tableaux.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
class Pixel {
  int x
  int y
  Color color
  boolean changed // si x et y n'ont pas changé
}
 
List<Pixel> pixels = ...
Pour dessiner mes pixels dans mon panel, j'utilise la méthode repaint() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
while(true) {
  bougePositions(pixels) // faite bouger les pixels
  repaint()
  Thread.sleep(millis)
}
Or Ca va donc redessiner tout mon écran a chaque boucle. Or plus j'augmente la vitesse de la boucle, plus mon écran scintille. Du coup je cherche la bonne méthodologie pour ne redessiner que les pixels qui ont changé...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
while(true) {
  bougePositions(pixels) // faite bouger les pixels
  //repaint()
  repaintOnlyChanged() // un truc comme ça...
  Thread.sleep(millis)
}