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 :

Collection et JCheckBox


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut Collection et JCheckBox
    Bonjour,
    voici mon problème :
    j'ajoute dynamiquement dans un JPanel des composants JCheckBox et j'aimerai construire une requête SQL en fonction des JCheckBox que je coche

    j'ajoute un ActionListener a mes JCheckBox pour constuire ma requete SQL mais je ne sais pas quand je coche un JCheckBox recupérer l'état des autres JCheckBox

    on m'a parler de Collection pour avoir une vue globale sur l'état de mes JCheckBox mais je ne sais pas quelle Collection utiliser

    Si quelqu'un à une idée,
    merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Par défaut
    Salut,

    Je ne comprend pas tres bien pourquoi tu n'arrive pas a récuperer l'etat des autre JCheckBox quand tu a un evenement renvoyée par une JCheckBox Precise.
    Rein ne t'interdit dans l'action listener d'une JCheckBox de vérifier l'etat des autres.

    Aurais-je mal compris ?

    ++

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    le problème est que j'ajoute dynamiquement mes JCheckBox et je ne sais pas à l'avance combien je vais en avoir,
    donc ils ont tous le meme nom en gros
    voici un bout de code pour illustrer mon problème:

    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
     
    private void remplirJPanel() { 
            Connection conn=null; 
            Statement statement=null;
            ResultSet rs=null;
            jpanel.setLayout(new BoxLayout(jpanel3,BoxLayout.Y_AXIS));
            try{ 
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://xxx;DatabaseName=xxx;user=xxx;password=xxx");
                statement = conn.createStatement();
                String sql = "SELECT distinct champ1 from Table1"; 
                rs = statement.executeQuery(sql);
                while(rs.next()){
                    final JCheckBox jcheckbox = new JCheckBox(rs.getString("champ1"));
                	   jpanel.add(jcheckbox);
                	   jcheckbox.addActionListener(new java.awt.event.ActionListener() {
          	       public void actionPerformed(final ActionEvent e) {
          		ConstruireRequeteSQL(jcheckbox.isSelected(),jcheckbox.getText());
    					}});
                	}
                conn.close();
            } 
            catch (Exception e) { 
                System.out.print("Exception: "+e); 
                } 
        }
    auparavant j'avais un nombre fixe de JCheckBox (par ex 5)
    donc il m'était facile de construire ma requete avec une fonction du genre
    ConstuireRequeteSQL(jcheckbox1.isSelected(),jcheckbox2.isSelected(),jcheckbox3.isSelected(),jcheckbox4.isSelected(),jcheckbox5.isSelected())

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Par défaut
    la solution que te propose eclesia est la bonne il suffit qu'a chaque fois que tu ajoute une checkBox tu la sotck dans un ArrayList et quand tu veux construir ta requette SQL tu parcour l'ensemble de la liste en recuperant l'etat de chaque checkBox, ainsi tu as un tableau dynamique qui contient l'ensemble de tes Box...

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    oui c'est la bonne solution
    merci a vous deux

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    voila une solution :

    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
     
     
    //on fait une liste des checkbox
    List<JCheckBox> meschk = new ArrayList<JCheckBox>();
    meschk.add(moncheckbox1);
    meschk.add(moncheckbox2);
    ...etc...
     
    //on ajoute les checkbox dans leurs panneaux
    pan.add(moncheckbox1);
    pan.add(moncheckbox1);
    ...etc...
     
     
    //et pour recuperer la valeur d'un checkbox a n'importe quel moment tu fais :
    boolean b = meschk.get(n).isSelected();

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

Discussions similaires

  1. []Erreur sur second emploi collection binding
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/03/2004, 18h02
  2. [VB6] Sauvegarder une collection d'objets
    Par Sayagh dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/09/2003, 11h58
  3. [VB6] la collection controls
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/04/2003, 17h03
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

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