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
Et voici le code du JPanel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !
Partager