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 :

Disposition d'un tableau de boutons dans un JPanel


Sujet :

AWT/Swing Java

  1. #1
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut Disposition d'un tableau de boutons dans un JPanel
    Voila bonjour à tous,

    J'aimerais savoir comment disposer un tableau de JButton[][] dans un JPanel grace a GridLayout...

    Voici la fonction en question:

    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
     
    public Bouton_test(String titre)    
    {        
       super(titre);           
       GridLayout test= new GridLayout(nl,nc);         
      JPanel jp_centre= new JPanel(test);         
      JButton[][] jb_essai= new JButton[3][3];         
      JButton res=new JButton("TEST");        
      for (int i=0;i<3;i++)
      {             
        for (int j=0;j<3;j++)
        {             
           jb_essai[i][j]=res;             
           jp_centre.add(jb_essai[i][j]);        
        }        
      }        
      this.add(jp_centre);
    Merci d'avance et bon dimanche

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Salut,

    essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            super(titre);
            GridLayout test= new GridLayout(nl,nc);
            JPanel jp_centre= new JPanel();
            jp_centre.setLayout(test);
            JButton[][] jb_essai;
            jb_essai= new JButton[3][3];
            for (int i=0;i<3;i++){
                for (int j=0;j<3;j++){
                    jb_essai[i][j]=new JButton("TEST");
                    jp_centre.add(jb_essai[i][j]);
                }
            }
            this.add(jp_centre);
    Tu ne peux pas mettre le même objet à deux endroits différents...

    [edit] répondu trop vite avant de tester... désolé...

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Le problème c'est qu'il me superpose tout les boutons, j'ai qu'un seul bouton TEST au lieu d'en avoir 9

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    J'ai édité ma réponse précédente...

  5. #5
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Je viens de voir, merci, ça fonctionne, j'ai bel et bien 9 boutons

    Ca serait possible de m'expliquer d'ou venait le problème?

    Merci à tous encore et bon dimanche

    ( je mettrais RESOLU qd vous m'aurez expliquer, parce que j'aimerais comprendre )

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Citation Envoyé par bucheron67
    Ca serait possible de m'expliquer d'ou venait le problème?
    Je crois avoir lu quelque part qu'il n'était pas possible de référencer le même objet dans une fenêtre graphique à plusieurs endroits. Si tu mets ton objet à un second endroit dans ta fenêtre, le premier est automatiquement supprimé.

    Là, tu initialises ton tableau de boutons avec le même objet bouton pour les neuf cases.
    Donc quand tu places le second objet de ton tableau, qui pointe sur le même objet que le premier objet du tableau, le premier bouton saute, et est remplacé par le second... et vu que tu es dans un GridLayout, il finit dans la première case, vu qu'elle a été libérée quand le premier bouton a été supprimé.

    Et ainsi de suite, jusqu'au neuvième...

    Dans la correction que je t'ai donné, tu crées un nouveau bouton pour chaque case du tableau, tu as donc neuf références sur neuf objets différents.

  7. #7
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Merci plégat pour ton explication, bon dimanche à toi

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

Discussions similaires

  1. Ajouter/Supprimer des boutons dans un JPanel
    Par zamborta dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 29/05/2013, 09h52
  2. [Jpanel] organisation de boutons dans un JPanel
    Par Ceubex dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 23/09/2010, 12h14
  3. la taille d.un bouton dans un JPanel
    Par toasty666 dans le forum Débuter
    Réponses: 1
    Dernier message: 08/03/2010, 07h39
  4. Réponses: 4
    Dernier message: 03/06/2009, 00h51
  5. Insérer un tableau d'objet dans un Jpanel
    Par Flophx dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 25/04/2006, 20h37

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