doLayout() forza il lay-out di tutti i componenti del Container su cui è chiamato (praticamente li dovrebbe ridisegnare e ridimensionare).

repaint(), invece, richiama il metodo pain() di tutti i componenti in modo da disegnarli a video.

Prova a chiamare il doLayout() e il repaint() anche sul JComboBox... purtroppo i problemi di questo tipo non sono così immediati da risolversi... io l'ho risolto richiamando il doLayout() anche sul componente appena ricostruito (quindi sul JComboBox).

Ecco, quindi, l'esempio:
codice:
mioPanel.remove( mioComboBox );
mioPanel.doLayout();
mioPanel.repaint();

mioComboBox = new JComboBox( nuoviDati[] );
mioPanel.add( mioComboBox );
miocomboBox.doLayout();
mioPanel.doLayout();
mioPanel.repaint();
doLayout();
repaint();
E' un po' una forzatura, ma dovrebbe andare.


Ciao.