Ajouter JButtons d'un Composite

Je veux ajouter un certain nombre de JButtons à un JPanel à l'aide d'un For boucle. Lorsque l'utilisateur appuie sur un bouton, le code suivant est exécuté:

for (i = 0; i < 10; i++)
{
  JButton aButton = new JButton();
  mainPanel.add(aButton);
  mainPanel.revalidate();
  mainPanel.repaint();
  System.out.println("Added: " + (i + 1) + "buttons");
}

Cependant, lorsque j'appuie sur le bouton, pas de JButtons sont ajoutés à la Composite, mais le programme imprime le nombre de boutons qui devraient être ajoutés.

Pas sûr de ce que le problème est ici =/

Ce gestionnaire de mise en page utilisez-vous?
Essayez invalidate au lieu de revalidate et repaint - et est-il une raison vous ne pouvez pas le faire à la fin de la boucle?
Vous ne devriez pas le valider et de le repeindre votre panneau à chaque fois que vous ajoutez un bouton, mais seulement après avoir ajouté tous vos boutons. La validation et la peinture d'une fenêtre GUI est généralement coûteux.

OriginalL'auteur Flynn | 2010-11-08