paint方法怎么被调用的?


package Lesson04;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;



public class TestPaint {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyPaint mypaint = new MyPaint();
        mypaint.windowClose(mypaint);
        mypaint.loadFrame();
    }

}
class MyPaint extends Frame{
    
    //窗口
    public void loadFrame() {
        setBounds(200,200,600,500);
        setVisible(true);
    }
    
    //画笔
        @Override
            public void paint(Graphics g) {
                //画笔,需要颜色,画笔可以画画
                g.setColor(Color.red);
                g.drawOval(100, 100, 100, 100);
                g.fillOval(200, 200, 100, 100);//实心的圆
                
                g.setColor(Color.pink);
                g.fillRect(300, 300, 200, 200);
                
                
            }
    
    // 关闭窗体事件
            public static void windowClose(MyPaint mypaint) {
                // 监听事件,监听窗口关闭事件 System.exit(0) (强制关闭)
                mypaint.addWindowListener(new WindowAdapter() {
                    // 窗口点击关闭的时候需要做的事情
                    @Override
                    public void windowClosing(WindowEvent e) {
                        // 结束程序
                        System.exit(0);
                    }
                });
        }

        
}