как работает paint () без вызова в основном методе?

Это вопрос для начинающих по java-графике с использованием пакета awt. Я нашел этот код в Интернете для рисования простой графики.

import java.awt.*;
public class SimpleGraphics extends Canvas{

    /**
     * @param args
     */
    public static void main(String[] args) {
        SimpleGraphics c = new SimpleGraphics();
        c.setBackground(Color.white);
        c.setSize(250, 250);

        Frame f = new Frame();
        f.add(c); 
        f.setLayout(new FlowLayout()); 
        f.setSize(350,350);
        f.setVisible(true);
    }
    public void paint(Graphics g){
        g.setColor(Color.blue);
        g.drawLine(30, 30, 80, 80);
        g.drawRect(20, 150, 100, 100);
        g.fillRect(20, 150, 100, 100);
        g.fillOval(150, 20, 100, 100); 
    }
}

Ни в одном из основных методов на холсте не вызывается paint (). Но я запустил программу, и она работает, так как же запускается метод paint ()?

6
задан adatapost 14 October 2011 в 07:50
поделиться