JAVA 编程,Paint画笔效果没有展现出来 不知道为什么?? 求解

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestPaint extends JFrame {
    public TestPaint() throws HeadlessException{
        setBounds(200,200,600,500);
        setVisible(true);
        this.add(new MyPaint());
        addWindowListener(new WindowAdapter() {  //设置窗口可关闭
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e); 
                System.exit(0);
            }
        });
    }

    public static void main(String[] args){
        new TestPaint();
        //此处画笔效果没有展现出来 不知道为什么???
    }
}

class MyPaint extends JPanel{

    //画笔
    @Override
    public void print(Graphics g) {
        super.print(g);
       //画笔,设颜色,画图案
        g.setColor(Color.pink);
        g.drawOval(100,100,100,100);

        g.setColor(Color.blue);
        g.fillRect(200,200,300,300);
    }
}

是paint不是print


class MyPaint extends JPanel{
    //画笔
    @Override
    public void paint(Graphics g) {
        super.paint(g);
       //画笔,设颜色,画图案
        g.setColor(Color.pink);
        g.drawOval(100,100,100,100);
        g.setColor(Color.blue);
        g.fillRect(200,200,300,300);
    }
}

参考这些代码。