import java.awt.*;
import java.awt.event.*;

public class JanelaDesenho extends Frame {
    private final int startPos = 50;
    private int incremento = 15;
    private int tamanho = 40;

    class WindowHandler extends WindowAdapter {
	public void windowClosing(WindowEvent we) {
	    dispose();
	    System.exit(0);
	}
    }

    public JanelaDesenho() {
	setTitle("Janela e desenho");
	setSize(320,200);
	addWindowListener(new WindowHandler());
    }

    public void paint(Graphics g) {
	int x=startPos;
	int y=startPos;
	
	Dimension d = getSize();
	int finalPos = Math.min(d.width, d.height)-tamanho;

	g.drawString("Desenhando...", 10, 40);

	while (x < finalPos) {
	    g.setColor(new Color((float)Math.random(),
				 (float)Math.random(), 
				 (float)Math.random()));
	    g.drawRect(x, y, tamanho, tamanho);
	    x += incremento;
	    y += incremento;
	}
	g.setFont(g.getFont().deriveFont(Font.BOLD));
	g.setColor(Color.red);
	g.drawString("...pronto!", 100, 40);
    }

    public static void main(String[] args) {
	JanelaDesenho j = new JanelaDesenho();
	j.setVisible(true);
    }
}