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 :

probleme Hash map


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut probleme Hash map
    Bonjour à tous voila j'ai une jframe dans laquelle je crée des checkbox des façon dynamique suivant une requete sql. Du coup je place les checkbox dans une map pour pouvoir travailler avec (d'apres ce que j'ai vu sur un autre sujet du forum) mais le probleme c'est que je n'arrive pas a reccueillir les valeur de mes checkbox.

    Me renvoie une valeur farfelue.
    Quelqu'un pourrait-il me dire comment faire?

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par swiixz
    Me renvoie une valeur farfelue.
    C'est à dire ????

    a++

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Il me renvoi une valeur qui fait plusieur lignes, mais visiblement c'est mon "x" qui lui plait pas.

    En fait j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JOptionPane.showMessageDialog(null," ": +map.get(nom+index));
    (nom+index) represente le nom donné aux combo et c'est ça qu'il n'aime pas ce qui est logique d'ailleurs, mais je ne sais pas comment m'y prendre.

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par swiixz
    (nom+index) represente le nom donné aux combo et c'est ça qu'il n'aime pas
    "Il" doit préférer les glaces au chocolat et on le comprend

    Sérieusement : on ne connait toujours pas le problème exact...

    a++

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Je désire savoir si mes checkbox sont cochées ou pas apres avoir valider ma fenetre.


    Voici mon code complet si tu veux d'autres infos:
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
    import java.awt.GridLayout;
    import java.awt.Rectangle;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.HashMap;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import java.awt.Dimension;
    import java.awt.Point;
     
     
    public class fichecmdfrs 
    {
    	private JFrame jFfichecmdfrs = null;
    	private JPanel jPanel = null;
    	private JButton jButton = null;
    	String nomCB="Fournisseur";
    	HashMap map = new HashMap();
     
     
    	public JFrame getJFfichecmdfrs(){
    		if (jFfichecmdfrs == null) {
    			jFfichecmdfrs = new JFrame();
    			jFfichecmdfrs.setSize(new Dimension(600, 300));
    			jFfichecmdfrs.setLocation(new Point(3, 78));
    			jFfichecmdfrs.setResizable(false);
    			jFfichecmdfrs.setTitle("Commande fournisseur");
    			jFfichecmdfrs.setContentPane(getJPanel());
    			jFfichecmdfrs.setVisible(true);
    		}
    	return jFfichecmdfrs;
    	}
     
    	public JPanel getJPanel() {
    		if (jPanel == null) {
    			GridLayout gridLayout = new GridLayout();
    			gridLayout.setRows(10);
    			gridLayout.setColumns(20);
    			jPanel = new JPanel();
    			jPanel.setLayout(gridLayout);
     
    			Connection connexion = null;				
    			Statement  instruction  = null;
    			ResultSet  resultat = null;
    			String[] fournisseur;
    			Integer nbre,index=0;
     
    			try
    		    {				    
    		      Class.forName ("com.mysql.jdbc.Driver");  // Chargement de la classe du driver JDBC de MySQL	
    		      connexion = DriverManager.getConnection("jdbc:mysql://localhost/gescom2");// Ouverture de la connexion avec MySQL sur la base utilisateur
    		      instruction = connexion.createStatement();
    		      resultat = instruction.executeQuery("select count(raison_sociale_fournisseur)FROM fournisseur ");
    		      resultat.next();
    		      nbre =resultat.getInt("count(raison_sociale_fournisseur)");
    		      fournisseur=new String[nbre];
    		      JOptionPane.showMessageDialog(null,"Articles : " +nbre );
     
    		      resultat = instruction.executeQuery("select raison_sociale_fournisseur FROM fournisseur ");//selection des champs a afficher			      
     
    		      while(index<nbre){ // initialisation des colonnes
    			    	resultat.next();
    			    	fournisseur[index]=resultat.getString("raison_sociale_fournisseur");				      	
    			      	index++;
    					}
    		      index=0;
     
    		      while(nbre!=0){
    					JCheckBox CB = new JCheckBox(fournisseur[index]);
    					CB.setName("fournisseur:"+index);
    					map.put(nomCB+index,CB);
    					CB.setSelected(true);
    					jPanel.add(CB);
    					nbre--;
    					index++;
    					}
    		      jPanel.add(getJButton(), null);
    		      JOptionPane.showMessageDialog(null,"Articles : " +map.get(nomCB+"0"));
    		    }
    			catch (ClassNotFoundException ex)
    		    {
    		      JOptionPane.showMessageDialog(null,"Classe introuvable " + ex.getMessage ());
    		    }
    		    catch (SQLException ex)
    		    {
    		      JOptionPane.showMessageDialog(null,"Erreur JDBC : " + ex.getMessage ());
    		    }
    		    finally
    		    {
    		      try
    		      {
    		        if (resultat != null)
    		          resultat.close();
    		        if (instruction != null)
    		          instruction.close();
    		        if (connexion != null)
    		          connexion.close();
    		      }
    		      catch (SQLException ex)
    		      {
    		        ex.printStackTrace ();
    		      }
    		    }
     
    			}
    		return jPanel;
    	}
    	private JButton getJButton() {
    		if (jButton == null) {
    			jButton = new JButton();
    			jButton.setText("Valider");
    			jButton.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					jFfichecmdfrs.setVisible(false);
     
    				}
    			});
    		}
    		return jButton;
    	}
     
    }

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Personne ne sait?

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Sans dec' il n'y a personne qui peut me dire comment faire pour savoir si ma checkbox est cochée ?

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sisi la javadoc (et çà y est j'en suis sûr), mais on a un peu la flemme de chercher à ta place dedans.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Mais j'ai deja chercher, le probleme n'est pas avec ma checkbox mais avec ma map qui contient la checkbox!
    La methode get me renvoi n'importe quoi.

  10. #10
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Si elle te renvoie n'importe quoi c'est que tu ne luis as pas passé le bon identifiant.

    Et accessoirement une HashMap stocke tes JCheckBox en tant qu'objets. Donc quand tu ressort tes objets à l'aide de la méthode get de la HashMap, il faut les caster pour réobtenir le type originel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JcheckBox check = (JCheckBox) map.get(id);

    2) Il faut que tu sois sûr des id que tu cherches dans ta map. Or dans ton code un coup tu mets un 0 derrière, un coup pas, donc ce n'est absolument pas stable
    ++

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 95
    Par défaut
    Merci de ton aide ça fonctionne parfaitement.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/06/2006, 07h40
  2. [Hibernate] Problème de mapping ?
    Par n@n¤u dans le forum Hibernate
    Réponses: 3
    Dernier message: 13/06/2006, 08h45
  3. Problem de Map et de List
    Par Roming22 dans le forum C++
    Réponses: 5
    Dernier message: 29/05/2006, 11h29
  4. [hibernate] probleme de mapping un-vers-plusieurs
    Par Elmilouse dans le forum Hibernate
    Réponses: 2
    Dernier message: 12/04/2006, 13h37
  5. Un petit probleme de map()
    Par cryptorchild dans le forum Langage
    Réponses: 2
    Dernier message: 04/12/2005, 13h00

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