Originariamente inviato da mattia96
Come potete vedere la modifica consiste nell'aver spostato il metodo setBackground dalla classe MyFrame a quella MyPanel.
Come mai dopo la modifica il contenuto del pannello si comporta in quel modo?
setBackground setta la proprietà "background" del componente cioè il colore di sfondo.
Tale colore di sfondo viene già gestito e disegnato dal super.paintComponent (cioè dal framework) ma a patto che il componente sia "opaco" (setOpaque(true) ).
E comunque settare tale proprietà nel paintComponent non mi pare una buona cosa.

Tutto qui.