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

Langage Java Discussion :

Attribuer des noms de variables dans une boucle


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Attribuer des noms de variables dans une boucle
    Bonjour,
    Est-il possible d'initialiser des variables de façon dynamique à partir d'une arraylist à l'intérieur d'une boucle ?
    J'ai une arraylist de noms et j'aimerais créer des JButton prenant pour nom de variable les noms de cette liste précédés de "btn" à chaque itération. Voilà ce à quoi cela ressemblerait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (String s : listeNoms) {
            JButton btn"s" = new JButton(s);
    	add(btn"s");
    }
    Existe-t-il un moyen de faire cela en JAVA ?

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Tu peux faire simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (String s : listeNoms)
    {
        add(new JButton(s));
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Réponse claire : NON

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (String s : listeNoms)
    {
        add(new JButton(s));
    }
    Edit : grillé

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,
    Citation Envoyé par sanguisorbe Voir le message
    Existe-t-il un moyen de faire cela en JAVA ?
    La réponse est non, de plus en général chaque bouton va avoir une action différente, tu ne compte pas le géré dans ta boucle ?
    Pourquoi veux tu faire cela ? Quel est ton objectif ?

    Edit : doublement grillé
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Alkhan Voir le message
    bonjour,


    La réponse est non, de plus en général chaque bouton va avoir une action différente, tu ne compte pas le géré dans ta boucle ?
    Pourquoi veux tu faire cela ? Quel est ton objectif ?
    Justement, mes boutons auront une action similaire car ils vont servir à faire de la navigation entre panels et je comptais gérer les conditions au niveau de l'actionListener.
    Mon objectif était d'éviter de déclarer mes variables individuellement pour gagner du temps.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben, pas de variable.

    Si t'as vraiment besoin de pouvoir récupérer le JButton correspondant à partir de son nom, c'est à ça que sert une Map<String, JButton>.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    Citation Envoyé par sanguisorbe Voir le message
    Justement, mes boutons auront une action similaire car ils vont servir à faire de la navigation entre panels et je comptais gérer les conditions au niveau de l'actionListener.
    Mon objectif était d'éviter de déclarer mes variables individuellement pour gagner du temps.
    Personnellement, je dirais qu'il est plus intéressant de conditionner la création de actionListener pour mettre le code du bouton correspondant, plutôt que de conditionner l'exécution de actionListener !
    Dans le 1er cas les conditions seront exécuté uniquement à la création des boutons alors que dans le 2eme cas ce sera a chaque clique de l'utilisateur !

    De plus si tu n'as pas besoin de garder de référence sur les boutons, pourquoi leurs donner un nom

    Tu peux très bien écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (String s : listeNoms) {
            JButton btn = new JButton(s);
            // ici ajout du code de l'actionListener
    	add(btn);
    }
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par sanguisorbe Voir le message
    Mon objectif était d'éviter de déclarer mes variables individuellement pour gagner du temps.
    Bien, dans ce cas pourquoi tu veux créer des variable, si tu va les gérer de manière dynamiques? Soit tu met tous tes bouton dans une liste si t'as besoin de les retrouver plsu tard. Soit si il sont autonomes après leur création, tu fait juste le add sur le Panel et c'est tout, pas besoin de le stocker en plus dans une variable

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    merci à tous pour vos réponses.
    J'ai finalement remplacé les boutons par des onglets pour me simplifier la tâche.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/01/2013, 11h07
  2. [MySQL] Des noms de variables dans une boucle
    Par nicolas2603 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/08/2009, 14h51
  3. [Débutant] Nom de variable dans une boucle
    Par el cascador dans le forum MATLAB
    Réponses: 10
    Dernier message: 17/04/2009, 13h23
  4. Nom de variable dans une boucle
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 16/05/2008, 16h24
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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