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 :

Gestion de JButton


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Par défaut Gestion de JButton
    Bonjour à toutes et à tous !

    Je me permets de vous demander votre aide car j'ai un problème qui me paraît difficile à résoudre :/

    J'utilise ce morceau de code pour créer plusieurs bouton (ici 8 mais normalement c'est 15), mais j'aimerais gérer leur clique à chacun indépendamment des autres.

    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
     
     
        nbrAC = 8;
     
        for(int w = 0; w < nbrAC; w++)
        {
     
        ecartX2 = ecartX2+36;
     
        JButton bouton2[]=new JButton[8];
     
        bouton2[w]=new JButton();
        Insets inset = new Insets(0,0,0,0);
        bouton2[w].setText("1,5"); //Text du bouton
        bouton2[w].setMargin(inset);
        bouton2[w].setBounds(238+ecartX2, 50, 16, 20);
        bouton2[w].setBackground(null); // défaut
        bouton2[w].setFont(fontbouton);
        bouton2[w].addActionListener(new ActionListener() {
     
             public void actionPerformed(ActionEvent e) {
     
             }
     
        });
     
        add(bouton2[w]);
     
    }
    Je m'explique, j'aimerais que lorsque je clique sur un des bouton par exemple, que son propre texte change, mais évidemment, je ne peux pas car la variable v change donc faut-il que je gère l'actionner sur chacun des boutons? (Et donc ce serait un truc du genre bouton2[1].SetText = " toto " ?).

    Mais je tiens a signaler que j'ai énormément de boutons !! ( un truc comme 413 je crois ...) donc ça risque d'être vraiment embêtant .

    Auriez-vous une solution?

    Merci beaucoup pour votre aide !

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    faut-il que je gère l'actionner sur chacun des boutons? (Et donc ce serait un truc du genre bouton2[1].SetText = " toto " ?).

    Il semblerait que oui .
    Après pour éviter d'avoir 15 lignes à écrire tu peux réduire en fonction de ce que tu veux faire.
    Si tu veux modifier le nom en toto ou tata ou tonton,...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String[] tmp = new String{"toto","tata","tonton",...}
    ...
    public void actionPerformed(ActionEvent e) {
            String action = e.getActionCommand();//=1 ou 2 ou 3...
            int act = Integer.parseInt(action);
            bouton2[act].SetText = tmp[act] ?      
     }

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    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
     
     
        nbrAC = 8;
     
        JButton bouton2[]=new JButton[8]; // ce sera déjà plus propre de le mettre hors de la boucle!!!
     
        for(int w = 0; w < nbrAC; w++)
        {
     
        ecartX2 = ecartX2+36;
     
     
        bouton2[w]=new JButton();
        Insets inset = new Insets(0,0,0,0);
        bouton2[w].setText("1,5"); //Text du bouton
        bouton2[w].setMargin(inset);
        bouton2[w].setBounds(238+ecartX2, 50, 16, 20);
        bouton2[w].setBackground(null); // défaut
        bouton2[w].setFont(fontbouton);
        bouton2[w].addActionListener(new ActionListener() {
     
             public void actionPerformed(ActionEvent e) {
                                  // et voilà!
                                   ((JButton)e.getSource()).setText("nouveau texte");
             }
     
        });
     
        add(bouton2[w]);
     
    }

  4. #4
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Par défaut
    Merci beaucoup à vous deux, cela va beaucoup m'aider ! (Je cherchai justement comment récupérer le bouton sur lequel j'ai cliqué ^^).

    Merci encore !

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

Discussions similaires

  1. Gestion de résolution et jbutton
    Par Sals007 dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 21/07/2013, 16h52
  2. Problème gestion actionListener pour JButton
    Par cedricbr dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/05/2006, 16h39
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

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