Pour une raison quelconque, lorsque j'essaie de doubler le tampon de mon applet Java, il affiche un carré blanc même si je ne le dis pas. Aussi, si j'essaie de mettre une boucle dans start(), je n'ai qu'un écran blanc même si repaint() est à la fin.Problème de double tampon de l'applet Java (et problème de boucle)
/**
* @(#)vo4k.java
*
* vo4k Applet application
*
* @author William Starkovich
* @version 1.00 2009/2/21
*/
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.image.*;
public class vo4k extends Applet implements KeyListener
{
obj p1, e1;
boolean[] keys;
boolean end = false;
Graphics g2d;
Dimension size;
Image buf;
public void init()
{
keys = new boolean[256];
for(int i = 0; i < 256; i++)
keys[i] = false;
addKeyListener(this);
p1 = new obj();
p1.x = 0;
size = getSize();
buf = createImage(size.width,size.height);
g2d = buf.getGraphics();
}
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {keys[e.getKeyCode()] = true;}
public void keyReleased(KeyEvent e) {keys[e.getKeyCode()] = false;}
public void controls()
{
if(keys[KeyEvent.VK_SPACE])
end = true;
if(keys[KeyEvent.VK_W])
p1.x += 10;
}
public void start()
{
// while(!end)
// {
// }
}
public void paint(Graphics g)
{
controls();
//g2d = (Graphics2D) g;
g2d.setColor(Color.RED);
g2d.fillRect(0,0,size.width,size.height);
g2d.setColor(Color.BLUE);
g2d.drawString("Welcome 2 Java!!", (int) 50, 60);
//g2d.drawString("Welcome to Java!!", (int) p1.x, 60);
g.drawImage(buf, 0, 0, this);
repaint();
}
}
class obj
{
double x,y,l,a,s;
}