IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

JPanel n'affiche pas les boutons


Sujet :

AWT/Swing Java

  1. #1
    Invité
    Invité(e)
    Par défaut 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 : 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);
        }
     
    }
    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
    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 !

  2. #2
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Essaye de mettre dans le code la JFrame

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    joueur1.setLayout(new FlowLayout());
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    joueur1.setLayout(new BorderLayout());

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Par défaut
    Salut,

    Il faut que tu spécifies ton layout avant d'ajouter les boutons a ton JPanel (MainJoueur)

    Dans le constructeur de MainJoueur, ajoute en premiere ligne this.setLayout(new BorderLayout()); et supprime le de la classe Jeu.

    Par ailleurs ta ligne JPanel jp = new JPanel(); ne sert a rien dans MainJoueur.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci à vous !

    snay13 C'était bien sa ! J'arrive pas à croire que ce n'était que sa

    MrEddy, la ligne en trop c'était pour mes tests, j'avais oublié de l'enlever

    Merci encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Requete] qui n'affiche pas les doublons mais sur un seul champs
    Par joseph.breham dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/12/2006, 14h57
  2. Réponses: 1
    Dernier message: 08/12/2006, 10h16
  3. [Tcl/Tk] Mon interface n'affiche pas les images
    Par randazar dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/11/2006, 16h48
  4. Word n'affiche pas les images de mon état
    Par maxdwarf dans le forum Access
    Réponses: 2
    Dernier message: 07/06/2006, 13h36
  5. [CR9 et VB6] n'affiche pas les nouvelles donnée
    Par moumoule17 dans le forum SDK
    Réponses: 3
    Dernier message: 22/04/2005, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo