Почему я не попадаю в метод paintComponent()?

Пытаюсь написать программу, которая будет выводить в окно картинку.

Окно создаётся, но метод painComponent() (который я перезаписываю) не вызывается.

Я выполняю метод repaint и надеюсь, что он вызовет метод paintComponent() (который я перезаписал)

Но этого не происходит.Подскажите, что я делаю не так?

Спасибо

import javax.swing.*;
import java.awt.*;

public class GameField extends JPanel {
  private Image imageBackground;

  GameField(){
    JPanel myPanel = new JPanel();
    JFrame myFrame = new JFrame();
    myFrame.setSize(576,720);
    myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
    myFrame.setContentPane(myPanel);
    loadImages();
    repaint();
    myFrame.setVisible(true);
  }

  public void loadImages(){
    ImageIcon iiBackground = new ImageIcon("Pole1.png");
    imageBackground = iiBackground.getImage();
  }

  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    System.out.println("Я сюда попал!");
  }

  public static void main(String[] args) {
    GameField window = new GameField();
  }
}

Ответы (1 шт):

Автор решения: pumaex

Разобрался. Оказывается вместо строчки:

myFrame.setContentPane(myPanel);

нужно было написать:

myFrame.setContentPane(this);

Я думал, что эти строки равноценны!?

→ Ссылка