Рисование прямоугольника, который не исчезнет в следующей краске

Я пытаюсь создать JPanel, который рисует прямоугольники. Панель должна рисовать много прямоугольников, но они не двигаются. Одним из решений моей проблемы было создание списка со всеми прямоугольниками, которые я уже создал, и рисование их всех при каждом вызове «Paint». Но прямоугольников много, и это замедляет работу компьютера.
Я также попытался использовать repaint (x, y, height, width), чтобы перекрасить только пространство нового прямоугольника, но это не сработало. (JPanel продолжает стирать предыдущие прямоугольники.) В своем роде мне нужно рисовать прямоугольники, которые не исчезнут с каждой краски. Или метод рисования, который не стирает предыдущие рисунки, или не рисует фон. Это часть моего класса JPanel:

class MyPanel extends JPanel{
  private int x, y, size;
  private Color c;
  public void DrawRect(int x, int y, int size, Color c){
      this.x = x;
      this.y = y;
      this.size = size;
      this.c = c;
      repaint();
  }
  @Override
    public void
    paint(Graphics g) {

        g.setColor(c);
      g.fillRect(x, y, size, size);
    }

}

Ответы на вопрос(2)

Ваш ответ на вопрос