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:
E' un po' una forzatura, ma dovrebbe andare.codice:mioPanel.remove( mioComboBox ); mioPanel.doLayout(); mioPanel.repaint(); mioComboBox = new JComboBox( nuoviDati[] ); mioPanel.add( mioComboBox ); miocomboBox.doLayout(); mioPanel.doLayout(); mioPanel.repaint(); doLayout(); repaint();
Ciao.![]()



Rispondi quotando