Avatar billede lakana Nybegynder
27. april 2006 - 19:36 Der er 1 kommentar og
1 løsning

double buffering

hejsa, findes der ikke en dansk eller en engelsk meget lærrig artikel/tutotial om double buffering.. fordi min baggrund blinker ved kald af repaint();
Avatar billede tuxic Nybegynder
27. april 2006 - 20:51 #1
En måde at gøre det på er at lave et image (som privat member/variable). I paint tegner du så først på dit image og tilsidst laver du noget drawImage.
Avatar billede schwarz84 Nybegynder
27. april 2006 - 22:02 #2
Jeg bruger følgende, som jeg har bikset sammen til formålet:

import java.applet.*;
import java.awt.*;
/**
* Extends Applet class by implementing double buffering. This fixes flicker problems
*/
public class DBApplet extends Applet {
    private Image buf;
    private Graphics bufG;

    /** Update Methods is called when the image is repainted. This implemets the double buffering */
    public void update (Graphics g)
    {
        if (buf == null)
        {
            buf = createImage (this.getSize().width, this.getSize().height);
            bufG = buf.getGraphics ();
        }
        bufG.setColor (getBackground ());
        bufG.fillRect (0, 0, this.getSize().width, this.getSize().height);
        bufG.setColor (getForeground());
        paint (bufG);
        g.drawImage (buf, 0, 0, this);
    }
}

Så extender du den i stedet for Applet, og under forudsætning af at du ikke overrider update(g), så har du Double Buffering.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester