// Paweł Rzechonek (c) November 2005
// okno AWT: obliczanie funkcji w punkcie
// (komponenty interfejsu graficznego: Canvas)
// (operacje graficzne z wykorzystaniem obiektu Graphics i Color)

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

class Plotno extends Canvas
{
    private static Color kolo0 = new Color(102,153,204);
    private static Color kolo1 = new Color(0.7f,0.5f,0.3f);
    public void paint(Graphics gr)
    {
        gr.setColor(Color.BLACK);
        gr.drawString("rozmiary płótna to "+getWidth()+" x "+getHeight(),30,15);
        gr.setColor(Color.RED);
        gr.drawRect(0,0,getWidth()-1,getHeight()-1);
        gr.setColor(Color.GREEN);
        gr.fillRect(30,30,60,120);
        gr.setColor(Color.BLUE);
        gr.drawOval(30,90,120,120);
        gr.setColor(Color.GRAY);
        gr.fillOval(60,60,120,60);
        gr.setColor(kolo0);
        gr.drawLine(0,getHeight()-1,getWidth()-1,0);
        gr.setColor(kolo1);
        gr.fillArc(180,180,60,120,30,-240);
    }
}
public class Grafika extends Frame
{
    protected Canvas plotno = new Plotno();

    public Grafika ()
    {
        super("kolorowe impresje");
        addWindowListener(new WindowAdapter ()
        {
            public void windowClosing(WindowEvent ev)
            {
                Grafika.this.dispose();
            }
        });
        add(new Plotno());
        setSize(480,360);
        setLocation(120,60);
        setResizable(false);
        setVisible(true);
    }

    public static void main (String[] arg)
    {
        new Grafika();
    }
}
