DoubleBufferWithBufferedImage.java Source code

Java tutorial

Introduction

Here is the source code for DoubleBufferWithBufferedImage.java

Source

import java.applet.Applet;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;

public class DoubleBufferWithBufferedImage extends Applet {
    int gap = 3;

    int mx, my;

    Image buffer = null;

    int w, h;

    public static void main(String[] a) {
        JFrame f = new JFrame();
        f.setSize(300, 300);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(new DoubleBufferWithBufferedImage());
        f.setVisible(true);
    }

    public DoubleBufferWithBufferedImage() {
        setSize(300, 300);
        Dimension d = getSize();
        w = d.width;
        h = d.height;
        buffer = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    }

    public void paint(Graphics g) {
        Graphics screengc = null;

        screengc = g;

        g = buffer.getGraphics();

        g.setColor(Color.blue);
        g.fillRect(0, 0, w, h);

        g.setColor(Color.red);
        for (int i = 0; i < w; i += gap)
            g.drawLine(i, 0, w - i, h);
        for (int i = 0; i < h; i += gap)
            g.drawLine(0, i, w, h - i);
        screengc.drawImage(buffer, 0, 0, null);
    }
}