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

Java Discussion :

Comment parcourir plusieurs JLabel[]?


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 76
    Points : 53
    Points
    53
    Par défaut Comment parcourir plusieurs JLabel[]?
    Bonjour a tous le monde
    j'ai plusieur jlabel dans ma jpanel,les JLabel qui portent les nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Acceuil1 Acceuil2 Acceuil3 Acceuil4...Acceuiln
    ,le probleme se que je voulais parcourir tous les Jlabel a l'aide de for par exemple;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<n;i+){
              Acceuil[i].setText("acceuil"+i);
    }
    est ce que se syntaxe est correct??
    merci d'avance

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Pas exactement, il te manquait un '+' et la syntaxe suivante sera plus intelligible si tu débutes, pour bien comprendre que ton "i" doit être converti en chaîne de caractères:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<n;i++){
              Acceuil[i].setText("acceuil" + Integer.toString(i));
    }
    Ensuite, à partir de java 5, tu peux utiliser la syntaxe simplifiée de parcourt de boucle suivante (mais tu perds l'indice i dont tu as visiblement besoin):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(JLabel label: Accueil){
              label.setText("test");
    }

    Enfin, par respect des conventions, la variable "Accueil" doit débuter par une minuscule!!!
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    bonjour
    merci pour votre réponse,mais je vous donne une exemple plus précise pour mon probléme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i=0;i<n;i+){
              acceuil[i].setvisible(false);
    }
    le probléme c'est à propos du variable acceuil sachant que ce variable est le nom
    de JLabel,par exemple acceuil1...
    j'accede a le nom directement par cette methode, est ce que c'est possible? car il est impossible de faire ça.
    j'espére que j'ai expliqué bien mon probléme,A bientot

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par katebe Voir le message
    j'espére que j'ai expliqué bien mon probléme
    Absolument pas... mais on va faire avec.
    Tu ne peux pas accéder à une variable en "construisant" son nom par concaténation (sauf en utilisant la réflexivité, mais ce n'est absolument pas propre).

    Le mieux des de mettre tous tes JLabels dans un tableau (ou une liste), et de le parcourir pour faire tes modifications (cf. le code que je t'ai donné ci-dessus qui sert dans le cas ou "Accueil" est un tableau de JLabel)
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    bonjour
    merci de votre reponse,c'est ça ce que je veux,mais dans le code il ya une erreur au nivau de "for":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    JXLabel[] LabelEvent={LabelEvent1,LabelEvent2,LabelEvent3};
     
            for(int i=1;i<4;i++){
                //c'est ici l'erreur
                LabelEvent[i].setVisible(false);
            }
    merci de m'éclairssir, car je suis débutant en java;
    A bientot

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Comme ça je dirais que c'est parce que les tableaux commence à 0 en Java donc tu doit dépasser les limites de ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    JXLabel[] LabelEvent={LabelEvent1,LabelEvent2,LabelEvent3};
     
            for(int i=0;i<3;i++){
                //c'est ici l'erreur
                LabelEvent[i].setVisible(false);
            }
    Par contre quand tu as une erreur c'est bien de préciser si c'est à la compilation ou a l'exécution et donner le message exact.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    bonjour
    oui c'est juste tableau commence par zero
    et merci a tous,

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

Discussions similaires

  1. comment parcourir un resultset plusieurs fois. ?
    Par MAJIK_ENIS dans le forum JDBC
    Réponses: 1
    Dernier message: 01/06/2006, 07h52
  2. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49
  3. Comment mettre plusieurs objets ds un composant ?
    Par Fleury dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/05/2003, 17h34
  4. Réponses: 2
    Dernier message: 05/12/2002, 16h55
  5. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58

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