2010-09-27 9 views
2

Je suis relativement nouveau sur Java et j'ai eu quelques problèmes avec Swing. J'essaye de créer un programme d'interface graphique très simple qui devrait être créer un ensemble de boutons mais mon code ne fonctionne pas.Création de JButtons en Java

Voici mon code;

myPanel = new JPanel(); 

JButton myButton = new JButton("create buttons"); 
myButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     int val = Integer.parseInt(textfield.getText()); 
     for(int i = 0; i < val; i++) { 
      JButton button = new JButton(""); 
      button.setText(String.valueOf(i)); 
      myPanel.add(button); 
     } 
    } 
}); 

Mais rien ne se passe lorsque je clique sur le bouton "créer des boutons". Quelqu'un peut-il me dire ce que je manque?

Répondre

2

Vous avez besoin de rafraîchir les panneaux qui sont déjà en cours d'exécution avec revalidate:

myPanel.revalidate()

+0

Pas sûr, mais ne devrait-il pas emballer() aussi? – Raveline

+0

Je suppose qu'il a appelé pack sur le JFrame qu'il ajoute le JPanel. – walters

+0

'pack' devrait être utilisé pour ajuster la taille du composant. Si la taille est fixe, il n'est pas nécessaire d'appeler 'pack'. –

0

Vous pourriez avoir à invoquer la méthode validate sur la myPanel pour arriver à mettre à jour le contenu de l'interface graphique, après avoir ajouté un bouton sur le panneau. Considérez également l'utilisation des IDE (Netbeans, Eclipse, IntelliJ Idea etc ...), si c'est nécessaire, pour la construction de l'interface graphique.