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éation et gestion de checkbox en dynamique


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut Création et gestion de checkbox en dynamique
    Bonjour, j'ai un petit problème concernant la création dynamique de checkbox et surtout la récupération de leur état. Voici mon code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    public class FenetreFusion extends JFrame implements ActionListener{
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        ListeUtilisateurs listeUtilisateurs;
        JButton btnOk = new JButton("ok");
     
        public FenetreFusion(ListeUtilisateurs listeUtilisateurs)
        {
            String utilisateur;
            // On récupère le nombre d'utilisateurs connectés
            int utilisateurNum =listeUtilisateurs.get_nombre_utilisateurs();
            // Panel principal
            JPanel listeUsers = new JPanel();
            GridLayout GL = new GridLayout(utilisateurNum+1,1,5,5);
            listeUsers.setLayout(GL);
     
            this.add(listeUsers);
            setPreferredSize(new Dimension(200,100+utilisateurNum*20));
            // Iterateur dans lequel on place la liste des utilisateurs connectés
            Iterator it = listeUtilisateurs.getListe().iterator();
            while (it.hasNext())
            {
                utilisateur=(String) it.next();
                // On crée une checkbox par utilisateur avec son nom sauf pour le Serveur
                if (!(utilisateur.equals("Serveur")))
                {
                JCheckBox CB = new JCheckBox(utilisateur);
                listeUsers.add(CB);
                }
     
            }
            // Panel du bouton ok
            JPanel panelbtn = new JPanel();
            panelbtn.setLayout(new FlowLayout());
            panelbtn.add(btnOk);
            listeUsers.add(panelbtn);
     
            this.pack();
            this.setVisible(true);
        }
     
        public void actionPerformed(ActionEvent event) {
            // TODO Auto-generated method stub
            Object source = event.getSource();
     
            if (source == btnOk)
            {
                System.out.println("ok");
            }
     
     
        }
     
     
    }
    J'ai surtout un problème :
    Le premier est que je vais devoir récupérer chacune de mes checkbox une par une afin de vérifier si elles sont cochées. Le problème est que je dois le faire dans l'actionPerformed... Je dois donc donner un nom pour chacune de mes checkbox et également les récupérer dans la méthode de l'actionPerformed! (possibilité de les passer en variable de classe?)

    Bref je coince la dessus :/
    Merci d'éclairer ma lanterne!

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Tu peux stocker tes checkbox dans une liste.
    Tu fait ta boucle qui crée tes checkbox, tu leur mets une "variable" fictive dans ta liste pour pouvoir les identifier.

    Ca répond a ton problème?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    Ok pour la liste mais je ne vois pas comment faire une variable "fictive"

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Si tu veux associer un nom à tes JCheckBoxs, une Map me semble toute indiquée (avec le nom en clé) .

  5. #5
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Une list ou une map. C'est pareil, c'est le meme principe.

    Sauf que dans le cas des listes tu auras des chiffres pour les repérer. Sinon les maps tu peux mettre ce que tu veux.


    Par exemple tu as une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HashMap h = new HashMap();
    String troncommun = "mesObjets_";
    for (int i=0;i<5;i++){
     
      //Tu crée l'object que tu veux
       Object o = new Object();
       h.put(troncommun+i, o);
    }
    Tu vois mieux ou toujours pas?
    A noter que j'ai utilisé une Map pour mettre des noms et pas de List!
    Tous tes objets pourront etre récupérer avec (par exemple pour la premiere valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    h.get(troncommum+"0")

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    Oui j'étais déja parti dans les maps, le fait que l'on puisse mettre une clef est intéressant! plutôt que de mettre des indices je mets carrément le nom de l'utilisateur ça va me permettre de l'utiliser juste après!
    Je suis en train de me débattre avec les hashMap mais ça devrait aller, je vous tiens au courant, merci ^^

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    Voila ça marche sans problèmes, je récupère bien les personnes dont les checkbox sont cochées, merci à vous!!!

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

Discussions similaires

  1. [XL-2007] Gestion des CheckBox dynamique
    Par vbfoxter dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/03/2012, 11h00
  2. Réponses: 3
    Dernier message: 24/02/2006, 13h27
  3. [JSP]Gestion d'un menu dynamique
    Par joebarteam88 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/08/2005, 12h35
  4. Création d'un composant de maniere dynamique
    Par loupdeau dans le forum MFC
    Réponses: 19
    Dernier message: 28/02/2005, 17h10
  5. Gestion d'un tableau dynamique
    Par almisuifre dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/02/2005, 19h07

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