JPanel n'affiche pas les boutons
Bonjour à tous
Voilà le problème qui me bloque depuis quelques heures :
J'ai une classe qui hérite de JFrame qui doit contenir et afficher des classe qui héritent de JPanel. Donc un JFrame qui est composer de JPanel.
Une de mes classe JPanel doit afficher 5 boutons. Lorsque je passe cette classe en JFrame, les boutons s'affichent correctement, mais dès que je la met en JPanel pour l'intégrer à mon JFrame principal, les boutons ne s'affichent plus alors que le JPanel et sa couleur de fond sont bien présent.
Voici le code du JFrame qui contiendra le JPanel
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| public class Jeu extends JFrame{
public Jeu() throws IOException
{
// Nom de la fenetre
this.setTitle("Kahuna");
// Taille de la fenetre
this.setSize(800,600);
// Pas de redimmention possible
this.setResizable(false);
// On centre la fenetre
this.setLocationRelativeTo(null);
// Terminer le processus lorsque l'on clique sur fermer
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Mise en place des différents panel (Carte, Main, Pioche, Log)
// les noms des cartes serviront pour les boutons
Carte carte1 = new Carte("aloa");
Carte carte2 = new Carte("coco");
Carte carte3 = new Carte("faaa");
Carte carte4 = new Carte("duda");
Carte carte5 = new Carte("elai");
Carte tab[] = {carte1, carte2, carte3, carte4, carte5};
// le JPanel qui dois afficher 5 boutons avec les noms des cartes
MainJoueur joueur1 = new MainJoueur(tab);
joueur1.setLayout(new BorderLayout());
joueur1.setBounds(204,400,576,140);
getContentPane().add(joueur1);
getContentPane().setBackground(Color.ORANGE);
this.setVisible(true);
}
} |
Et voici le code du JPanel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public class MainJoueur extends JPanel {
JPanel jp = new JPanel();
JButton carte1;
JButton carte2;
JButton carte3;
JButton carte4;
JButton carte5;
// un tableau de bouton
JButton tabBouton[] = {carte1, carte2, carte3, carte4, carte5};
// Le constructeur qui prend le tableau de cartes qui contient les noms
MainJoueur (Carte[] tabCarte)
{
// Une couleur de fond pour bien voir le JPanel
this.setBackground(Color.red);
// La boucle qui crée les boutons
for(int i = 0; i<tabCarte.length; i++)
{
tabBouton[i] = new JButton(tabCarte[i].nom);
tabBouton[i].setPreferredSize(new Dimension(70, 100));
// Je rajoute les boutons dans le panel au fur et à mesure de leurs
//création
this.add(tabBouton[i]);
}
}
} |
J'espère que c'est assez clair et que vous pourrez m'aider :)
Merci d'avance !