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

Composants Java Discussion :

Tableau de boutons


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut Tableau de boutons
    Bonjour tt monde,

    Mon probleme consiste a afficher des element d'une liste sur plusieurs bouton.
    J'ai essayer un tableau de bouton mais ça ne donn rein pr le moment voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
       NodeList nl = racine.getElementsByTagName("moteur");
     
        JButton[nl.getLength()] jbutton = new JButton();
     
        for (int i = 1; i < nl.getLength(); ++i) {
           Element lilo = (Element) nl.item(i);
     
           jbutton[i].setText(lilo.getAttribute("name");
    }
    merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    il y a un problème avec l'instanciation des JButton.
    tu peux faire comme ça sinon c'est plus simple et dynamique.
    après tu peux varier l'ArrayList par ce que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    NodeList nl = racine.getElementsByTagName("moteur");
    ArrayList<JButton> liste = new ArrayList<JButton>();
     
    for (int i = 0; i < nl.getLength(); i++) {
           Element lilo = (Element) nl.item(i);
           liste.add(new JButton(lilo.getAttribute("name"));
    }
    si tu as besoin d'un tableau tu peux faire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    NodeList nl = racine.getElementsByTagName("moteur");
    JButton[] jbutton = new JButton[nl.getLength()];
     
    for (int i = 0; i < nl.getLength(); i++) {
           Element lilo = (Element) nl.item(i);
           jbutton[i] = new JButton(lilo.getAttribute("name"));
    }

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Je croit que t'a raison ,mais par contre concernant la liste j'ai un probleme :

    (symbol Arrayliste non reconue) il ne reconnait pas le terme Arrayliste<> , qu'est ce que tu en pense ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    Le <JButton> défini que tu dois avoir obligatoirement des JButton dans ton tableau.
    Je ne sais pas si tu utilise un IDE comme eclipse ou autre mais il faut importer l'ArrayList sinon ça ne marchera pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import java.util.ArrayList;
    Sinon tout dépend de la version que tu utilise sur les anciennes versions de java met simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList liste = new ArrayList();
    Mais si tu peux le mettre n'hésite pas c'est une sécurité de plus.

    EDIT :
    ArrayList sans le e à la fin au cas ou c'est peut être ça l'erreur.

    EDIT 2 :
    pour utiliser après l'array tu peux faire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (JButton b : liste) {
        monPanel.add(b);
    }

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    J'ai refait le code a la lettre j'ai plus de prob d'inconue .mais dans l'execution les buttons ne sont pas affichées on voit just le panel vide sans aucun boutons voila le code apres correction :

    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
     
     
     NodeList nl = racine.getElementsByTagName("moteur");
     
     
     ArrayList<JButton> liste = new ArrayList<JButton>();
     
    for (int i = 0; i < nl.getLength(); i++) {
           Element lilo = (Element) nl.item(i);
           liste.add(new JButton(lilo.getAttribute("name")));
     
          // System.out.println(lilo.getAttribute("name"));
     
           for (JButton b : liste) {
        jPanel1.add(b);
    }
     
    }

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    est-ce que tu as mis un layout sur ton panel?

    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
    NodeList nl = racine.getElementsByTagName("moteur");
     
     
    ArrayList<JButton> liste = new ArrayList<JButton>();
     
    for (int i = 0; i < nl.getLength(); i++) {
           Element lilo = (Element) nl.item(i);
           liste.add(new JButton(lilo.getAttribute("name")));
     
          // System.out.println(lilo.getAttribute("name"));
    }
    jPanel1.setLayout(new GridLayout(nl.getLength()));
    // c'est ici qu'il faut mettre les boutons dans le panel.
    for (JButton b : liste) {
        jPanel1.add(b);
    }
    //ne pas oublier d'ajouter le panel dans la frame ou je ne sais pas ce que tu tuilise
    contentPane.add(jPanel1);

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

Discussions similaires

  1. [ActionListener] Evénement sur tableau de boutons
    Par frouge dans le forum Composants
    Réponses: 5
    Dernier message: 08/10/2011, 02h44
  2. Tableau de boutons
    Par hbzied dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 26/04/2006, 14h14
  3. Disposition d'un tableau de boutons dans un JPanel
    Par Arnaud F. dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/04/2006, 18h09
  4. [AWT]tableau de boutons
    Par pierrot106 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 06/12/2004, 17h59
  5. Gérer les events d'un tableau de boutons
    Par lord_kalipsy dans le forum wxWidgets
    Réponses: 7
    Dernier message: 20/10/2004, 10h13

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