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 :

crée checkbox dynamiquement


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de chasse
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 78
    Par défaut crée checkbox dynamiquement
    Bonjour,

    J'aimerais crée des checkbox de manière dynamique,
    c'est a dire que j aimerais faire une boucle qui me crée :

    checkbox1
    checkbox2...

    le problème, c est que je ne sais pas comment faire pour les créer
    avec des noms différents...

    j'aimerais qqch du genre :

    for(int i=0;i<=10;i++){
    JCheckBox checkbox+i = new JCheckBox();
    }

    car il faut que je sache quelle checkBox a été coché...

    Merci bcp

  2. #2
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    Tu n'as pas besoin de donner de noms differents a tes checkbox pour savoir lequel a été coché.
    Tu fais ceci :
    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
     
    ArrayList<JCheckBox> mesCBox = new ArrayList<JCheckBox>() ;
    //on va creer 10 JCheckBox par exemple :
    for(int i =0 ; i < 10 ; i++)
    {
       mesCBox.add(new JCheckBox("JCkeckBox n°"+i);
    }
     
    //maintenant pour savoir lequel est coché tu peux parcourir ta boucle 
    // et si c'est pour detecter une action sur un JCheckBox dans ton listener 
    //tu fais:
     
    int i = 0 ;
    JCheckBox jcb = mesCBox.get(i);
    while (  (jcb != e.getSource()) && (i < mesCBox.size()) )
    {
      i+=1;
      jcb = mesCBox.get(i);
    }
    if( jcb == e.getSource() )
    {
      //la tu fais ton traitement
    }

  3. #3
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu peut les mettre dans un ArrayList pour cela

    Quand tu en crée une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ArrayList<JCheckBox> list = new ArrayList<JCheckBox>();
     
    list.add(new JCheckBox());
    list.get(index).setPrefferedSize(...
    Tu y accéde donc ensuite avec l'index

  4. #4
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    l'AtrrayList est-il vraiment nécessaire? L'ajout des JCheckBox au panel dans la boucle, avec l'ajout d'un listener dans la même boucle,
    devrait suffir, dans l'actionPerformed on sait récupérer le label (par la commande donnée par Scorpyopsis => e.getSource() ), et enfonction du label, toi tu sairas quelle box a été cliquée...

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Vous pouvez egalement utilise une Map<String, JCheckBox> pour le stockage mais c'est optionnel (comme la List, ArrayList). Dans cette map, la cle serait le nom ou l'action de la check box (ce qui revient a avoir des noms de variable dynamiques).

    Vous pouvez aussi utilise check.setActionCommand("nom ou action") ave cette meme cle ce qui permet d'eviter d'avoir a faire le test sur le label de la case a cocher (label qui peut lui eventuellement changer suivant la langue alors que l'action command lui ne change pas).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. [VBA-P] - checkbox dynamique
    Par fredroux dans le forum Général VBA
    Réponses: 4
    Dernier message: 24/04/2013, 10h03
  2. Réponses: 5
    Dernier message: 03/05/2006, 10h27
  3. [MFC] ajout checkbox dynamiquement
    Par moulefrite dans le forum MFC
    Réponses: 9
    Dernier message: 21/04/2006, 19h02
  4. [Struts] checkbox dynamique
    Par Timouyas dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 15/03/2006, 14h55
  5. [Tableaux] CheckBox dynamique, possible en php?
    Par Gumpy dans le forum Langage
    Réponses: 5
    Dernier message: 07/02/2006, 11h46

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