簡體   English   中英

如何停止Java Applet中的圖像閃爍?

[英]How can I stop image flickering in Java Applet?

我的問題是,每當我使用剛剛編碼的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"));

閃爍是由clearRect引起的。

如果您的圖像覆蓋了整個applet,則只需刪除clearRect調用即可。

如果它們沒有覆蓋,則需要創建一個屏幕外圖像,對其進行所有繪制,然后通過對applet的drawImage調用繪制屏幕外圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM