Olá Pessoal!!!
Estou criando um programinha java que possui uma animação gráfica, para desenhar as formas
geometricas da animação uso o método paint() em uma classe especialista de Canvas.
O método repaint() é chamada por uma thread a cada 250 milisegundos. Para retirar o flicker
de tela escrevi o código descrito abaixo. No entanto, a animação continua com o flicker de tela,
será que alguém saberia me responder o por que do código abaixo não funcionar?
public void paint(Graphics g){
paintBuffer(g);
}
private void paintBuffer(Graphics g){
String min, sec;
if (dblBuffImg == null){
dSize = this.getSize();
dblBuffImg = this.createImage(dSize.width, dSize.height);
dblBuffer = dblBuffImg.getGraphics();
}
dblBuffer.clearRect(0, 0, dSize.width, dSize.height);
//Esses métodos desenham formas geometricas na tela
desenhaVia( dblBuffer );
desenhaFaixa( dblBuffer );
desenhaVeiculos( dblBuffer );
//Esses métodos colocam na tela o tempo decorrido.
dblBuffer.setColor( Color.black );
min = (tempodecorrido / 60) < 10 ? "0" + Integer.toString(tempodecorrido / 60) : Integer.toString(tempodecorrido / 60) ;
sec = (tempodecorrido % 60) < 10 ? "0" + Integer.toString(tempodecorrido % 60) : Integer.toString(tempodecorrido % 60) ;
dblBuffer.drawString( "Tempo decorrido: " + min + ":" + sec, 50, 50 );
g.drawImage(dblBuffImg, 0, 0, this);
}
Ficaria muito grato pela ajuda de alguém!!! Obrigado!!![/code]