paint(Graphics g)に依存しないで強制描画する方法

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;

import javax.swing.JPanel;


public class Screen extends JPanel implements Runnable{

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	private final static int WIDTH = 400;
	private final static int HEIGHT = 400;

	private Thread thread = null;
	private int count;

	private Graphics g;
	private BufferedImage backImage = null;



	public Screen() {

		setPreferredSize(new Dimension(WIDTH, HEIGHT));
	}

	public void make() {
		backImage = (BufferedImage)createImage(WIDTH, HEIGHT);
		g = backImage.getGraphics();

		count = 0;

		thread = new Thread(this);
		thread.start();
	}

	public void run() {
		while (true) {
			count++;

			g.setColor(Color.BLACK);
			g.fillRect(0, 0, WIDTH, HEIGHT);

			g.setColor(Color.WHITE);
			g.drawString(count+"", count%WIDTH, count%HEIGHT);

			// ここで強制描画
			{
				Graphics g = getGraphics();
				g.drawImage(backImage, 0, 0, null);
				Toolkit.getDefaultToolkit().sync();
				g.dispose();
			}

			System.out.println(count);
			try {
				Thread.sleep(20);
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}

}

過去の日記に同じコード書いてあったわ