das Problem ist, dass direkte Zeichnungen auf dem Panel nur temporär sind, also nur bis das nächste mal die paint()-Methode des Panels aufgerufen wird sichtbar sind (dies geschieht z.B. bei jeder Mausbewegung über dem Panel).
Um dauerhaft etwas zu zeichnen, musst Du eine Klasse von JPanel ableiten, die in der paint()- oder paintComponent()-Methode die Zeichnungen durchführt.
Beispiel:
class MyPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillOval(10, 10, 10, 10);
// oder was auch immer
}
}
Im Hauptprogramm benutzt Du dann statt des normalen JPanel einfach MyPanel.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]