OVH Cloud OVH Cloud

Canvas qui clignote

1 réponse
Avatar
Thierry
Bonjour à tous,

J'ai un soucis avec un canvas. Je veux afficher un ensemble de pixels
avec une boucle. Or mon canvas clignote en passant par toutes les
couleurs. J'ai l'impression qu'il veut se mettre à jour à chaque pixel.
Enfin je ne sais pas, je suis paumé là...

Si quelqu'un a une piste...

Merci
Thierry

pour info :

package org.ice.agglo;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;


public class AggloCanvas extends Canvas {

private Color[][] pixels = null;

public void setPixels(Color[][] pixels) {
this.pixels = pixels;
}

public void paint(Graphics g) {

setBackground(Color.white);

try {
for (int i = 0; i < pixels.length; i++) {
for (int j = 0; j < pixels[0].length; j++) {
//... dessiner un pixel de couleur
setForeground(pixels[i][j]);
g.fillRect(i, j, 1, 1);
//System.out.println(i + j);
}
}
} catch (NullPointerException e) {
e.printStackTrace();
}
}

public void update(Graphics g) {
return;
}
}

1 réponse

Avatar
no.bcausse.spam
Thierry wrote:

Bonjour à tous,

J'ai un soucis avec un canvas. Je veux afficher un ensemble de pixels
avec une boucle. Or mon canvas clignote en passant par toutes les
couleurs. J'ai l'impression qu'il veut se mettre à jour à chaque pixel.
Enfin je ne sais pas, je suis paumé là...

Si quelqu'un a une piste...

Merci
Thierry

pour info :

package org.ice.agglo;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;


public class AggloCanvas extends Canvas {

private Color[][] pixels = null;

public void setPixels(Color[][] pixels) {
this.pixels = pixels;
}

public void paint(Graphics g) {

setBackground(Color.white);

try {
for (int i = 0; i < pixels.length; i++) {
for (int j = 0; j < pixels[0].length; j++) {
//... dessiner un pixel de couleur
setForeground(pixels[i][j]);
g.fillRect(i, j, 1, 1);
//System.out.println(i + j);
}
}
} catch (NullPointerException e) {
e.printStackTrace();
}
}

public void update(Graphics g) {
return;
}
}


c'est un basic de l'affichage, regardes "doublebuffering" sur google
--
bruno Causse
http://perso.wanadoo.fr/othello