Não mostrando gráficos no JPanel que é adicionado a outro JPanel

Ao adicionar umJPanel que tem gráficos para umJFrameestá funcionando bem. Mas quando tento adicionar umJPanel em que eu adicionei outroJPanel com gráficos, não está aparecendo noJFrame. Por favor, veja o código abaixo

package sample;

import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JFrame{
    public static void main(String[] args) {
        new Main();
    }

    public Main(){
        setTitle("Sample");
        setVisible(true);
        setSize(500,500);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(new SamplePanel2());
    }
}

class SamplePanel2 extends JPanel{
    public SamplePanel2(){
        add(new JButton("Hi"));
        add(new SamplePanel());
    }
}
class SamplePanel extends JPanel {
    public SamplePanel(){
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawString("HHHHHHHHHHHH", 100, 100);
    }
}

questionAnswers(1)

yourAnswerToTheQuestion