2014-05-16 31 views
1

我的問題是,每當我使用我剛剛編碼的Java Applet時,我的png圖像就會重複閃爍。我已經將我的線程睡眠時間更改爲更小,並且不能解決問題。如何停止Java Applet中的圖像閃爍?

這裏是我打電話的圖像的代碼中顯示:

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")); 
+0

您的圖片是否覆蓋整個applet? –

+0

@АндрейМосквичёв是的 – user3532547

回答

1

閃爍是由clearRect引起的。

如果你的圖片覆蓋了整個applet,你可以刪除clearRect調用。

如果它們沒有覆蓋,則需要創建一個離屏圖像,使其全部繪製,然後通過drawImage調用您的小程序來繪製屏幕外圖像。

+0

非常感謝!刪除clearRect爲我修復:) – user3532547