Non sono sicuro ma tu provaci

allora nel metodo- public void paint(Graphics g){
qui metti: super.paint(g); o altrimenti metti super.paintComponent(g);
}
dico altrimenti perche io ridefinisco sempre il metodo paintComponent per disegnare, e non faccio mai paint(Graphics g)...
comunque dovrebbe funzionare lo stesso.
fammi sapere se funziona il tutto ciao.