如何在Java Applet中停止图像闪烁?

时间:2014-05-16 17:27:10

标签: java image applet flicker

我的问题是每当我使用刚编码的Java Applet时,我的png图像会重复闪烁。我已经将线程休眠时间更改为更小,这并不能解决问题。

以下是我要调用图像的代码:

    public void init(){
    setSize(854, 480);
    Thread th = new Thread(this);
    th.start();
    offscreen = createImage(854,480);
    d = offscreen.getGraphics();
    addKeyListener(this);
}
public void paint(Graphics g){

    g.clearRect(0, 0, 854, 480);
    g.drawImage(background, 0, 0, this);
    d.drawImage(offscreen, 0, 0, this);
    g.drawOval(x, y, 20, 20);
}
public void update(Graphics g){
    paint(g);
}

如果您愿意,这行代码就是我声明图像的地方

    background = ImageIO.read(this.getClass().getResource("background.png"));

1 个答案:

答案 0 :(得分:1)

闪烁是由clearRect引起的。

如果您的图片覆盖整个小程序,则可以删除clearRect调用。

如果它们没有覆盖,则需要创建一个屏幕外图像,对其进行所有绘图,以及 然后通过drawImage调用你的applet来绘制屏幕外的图像。