Je souhaite ajouter un nombre de JButtons
à un JPanel
en utilisant une boucle For
. Lorsque l'utilisateur appuie sur un bouton, le code suivant est exécuté:Ajouter JButtons à JPanel
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, quand j'appuie sur le bouton, pas JButton sont ajoutés à la JPanel, mais le programme imprime le nombre approprié de boutons qui devraient être ajoutés.
Je ne sais pas ce que le problème est ici =/
Quel gestionnaire de layout utilisez-vous? – aioobe
Essayez 'invalidate' au lieu de' revalidate' et 'repaint' - et y a-t-il une raison pour laquelle vous ne pouvez pas faire cela à la fin de la boucle? – sje397
Vous ne devez pas valider et repeindre votre panneau chaque fois que vous ajoutez un bouton, mais seulement après avoir ajouté tous vos boutons. Valider et peindre une fenêtre GUI est généralement coûteux. –