Mettre jcombobox a vide après modif

Bonjour,

Est ce que quelqu'un pourrait m'expliquer comment ça ce fais que dans un actionListener en java, il est impossible de faire jcombobox.setSelected(-1) pour rien saisir au lancement de l'appli?????

Merci

5 réponses

  1. Vous pouvez les Associer bien sur mais je ne vois pas trop l'importance puisque le model(myModel) peut être utilisé à l'intérieur de ta fonction aaa()
    0
    1. D'accord merci bien de ton aide précieuse
      0
  2. Vous créer le DefaultComboBoxModel myModel=new DefaultComboBoxModel();
    en dehors de Toute les Les Fonctions donc (Public)
    Et ensuite dans votre Constructeur vous faites ça:
    getjComboBox .setModel(myModel);

    Quand tu clique sur le bouton ajouter tu appelles la Methode addElement(Objet elem) du Model. Example:

    myModel.addElement(nompersonne);
    0
    1. Voici le code de mon bouton ajouter membre :

      	//Fonction ajoutant un membre
      	private void btValiderAjout_click ()
      	{	
      		
      		//Gestion numéro de membre
      		int numMembre;
      		//numMembre = 0;
      		//rsNombrePersonne = Select.NombrePersonne();
      		try
      		{
      			numMembre = Integer.parseInt(jTextFieldNumeroMembre.getText());
      		}
      		catch (NumberFormatException e)
      		{
      			JOptionPane.showMessageDialog(null, "Rentrez un numéro de membre valide" );
      			 jLabelObli.setVisible(true);
      			 jLabelObli1.setVisible(true);
      			 jLabelObli2.setVisible(true);
      			 jLabelObli3.setVisible(false);
      			 jLabelObli4.setVisible(false);
      			 jLabelObli5.setVisible(false);
      			 jLabelObli6.setVisible(false);
      			 jLabelObli7.setVisible(false);
      			 jLabelObli8.setVisible(false);
      			 return;		
      		}
      		
      	/*	if (!Pattern.matches("[0-9]+", jTextFieldNumeroMembre.getText()))
      		{
      		   JOptionPane.showMessageDialog(null, "Rentrez un numéro de membre valide");
      			 jLabelObli.setVisible(true);
      			 jLabelObli1.setVisible(true);
      			 jLabelObli2.setVisible(true);
      			 jLabelObli3.setVisible(false);
      			 jLabelObli4.setVisible(false);
      			 jLabelObli5.setVisible(false);
      			 jLabelObli6.setVisible(false);
      			 jLabelObli7.setVisible(false);
      			 jLabelObli8.setVisible(false);
      			 return;	
      		}*/
      		
      		//Gestion numéro de groupe		
      		Groupe numGroupe = (Groupe) jComboBoxNumeroGroupe.getSelectedItem();
      		if (numGroupe == null)
      	 	{
      	 		JOptionPane.showMessageDialog(null, "Sélectionnez un numéro de groupe" );
      	 		jLabelObli.setVisible(true);
      	 		jLabelObli1.setVisible(true);
      	 		jLabelObli2.setVisible(false);
      	 		jLabelObli3.setVisible(false);
      	 		jLabelObli4.setVisible(false);
      	 		jLabelObli5.setVisible(false);
      	 		jLabelObli6.setVisible(true);
      	 		jLabelObli7.setVisible(false);
      	 		jLabelObli8.setVisible(false);
      	 		return;
      	 	}		
      
      		//Gestion nom de membre
      		String nomMembre = jTextFieldNomMembre.getText();
      		if (nomMembre.equals(""))
      		{
      			JOptionPane.showMessageDialog(null, "Rentrez un nom de membre" );
      			jLabelObli.setVisible(true);
      			jLabelObli1.setVisible(true);
      			jLabelObli2.setVisible(false);
      			jLabelObli3.setVisible(true);
      			jLabelObli4.setVisible(false);
      			jLabelObli5.setVisible(false);
      			jLabelObli6.setVisible(false);
      			jLabelObli7.setVisible(false);
      			jLabelObli8.setVisible(false);
      			return;
      		}
      			
      		if (!Pattern.matches("[A-Za-z -]*", nomMembre))
      		{
      			JOptionPane.showMessageDialog(null, "Rentrez un nom de membre valide" );
      			jLabelObli.setVisible(true);
      			jLabelObli1.setVisible(true);
      			jLabelObli2.setVisible(false);
      			jLabelObli3.setVisible(true);
      			jLabelObli4.setVisible(false);
      			jLabelObli5.setVisible(false);
      			jLabelObli6.setVisible(false);
      			jLabelObli7.setVisible(false);
      			jLabelObli8.setVisible(false);			
      			return;
      		}
      			
      		//Gestion date de naissance du membre
      		
      		/*String jour = (String) jComboBoxJour.getSelectedItem();
      		String mois = (String) jComboBoxMois.getSelectedItem();
      		String annee = (String) jComboBoxAnnee.getSelectedItem();*/
      		
      	/*	Date date;
      		try
      		{
      			date = Date.valueOf(jTextFieldDate.getText());
      		}
      		catch (IllegalArgumentException e)
      		{
      			JOptionPane.showMessageDialog(null, "Rentrez une date au format yyyy/mm/dd" );
      			return;
      		}*/
      
      		//Gestion prénom de membre
      		String prenomMembre = jTextFieldPrenomMembre.getText();
      		if (prenomMembre.equals(""))
       	 	{
       	 		JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre" );
       	 		jLabelObli.setVisible(true);
       	 		jLabelObli1.setVisible(true);
       	 		jLabelObli2.setVisible(false);
       	 		jLabelObli3.setVisible(false);
       	 		jLabelObli4.setVisible(true);
       	 		jLabelObli5.setVisible(false);
       	 		jLabelObli6.setVisible(false);
       	 		jLabelObli7.setVisible(false);
       	 		jLabelObli8.setVisible(false);
      	
       	 		return;
       	 	}	
      		
      		if (!Pattern.matches("[A-Za-z -]*", prenomMembre))
      		{
      			JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre valide" );
      			jLabelObli.setVisible(true);
      			jLabelObli1.setVisible(true);
      			jLabelObli2.setVisible(false);
      			jLabelObli3.setVisible(false);
      			jLabelObli4.setVisible(true);
      			jLabelObli5.setVisible(false);
      			jLabelObli6.setVisible(false);
      			jLabelObli7.setVisible(false);
      			jLabelObli8.setVisible(false);
      			return;
      		}
      
      		//Gestion titre de civilité du membre	 	 	
      		String titre = (String)jComboBoxTitre.getSelectedItem();		
      		if (titre == null)
      		{
      			JOptionPane.showMessageDialog(null, "Sélectionnez un titre de civilité" );
      			 jLabelObli.setVisible(true);
      			 jLabelObli1.setVisible(true);
      			 jLabelObli2.setVisible(false);
      			 jLabelObli3.setVisible(false);
      			 jLabelObli4.setVisible(false);
      			 jLabelObli5.setVisible(false);
      			 jLabelObli6.setVisible(false);
      			 jLabelObli7.setVisible(false);
      			 jLabelObli8.setVisible(true);
      			return;
      		}	 	 
      			 	 	
      		//Gestion responsabilité du membre
      		String resp = (String) jComboBoxResponsabilité.getSelectedItem();
      		if (resp == null) 
      		{
      			JOptionPane.showMessageDialog(null, "Sélectionnez une responsabilité" );
      			 jLabelObli.setVisible(true);
      			 jLabelObli1.setVisible(true);
      			 jLabelObli2.setVisible(false);
      			 jLabelObli3.setVisible(false);
      			 jLabelObli4.setVisible(false);
      			 jLabelObli5.setVisible(true);
      			 jLabelObli6.setVisible(false);
      			 jLabelObli7.setVisible(false);
      			 jLabelObli8.setVisible(false);
      			return;
      		}		
      		
      		/*vectorMembre.add(numMembre);
      		vectorMembre.add(numGroupe);
      		vectorMembre.add(titre);
      		vectorMembre.add(jour);
      		vectorMembre.add(mois);
      		vectorMembre.add(annee);
      		vectorMembre.add(resp);
      		vectorMembre.add(nomMembre);
      		vectorMembre.add(prenomMembre);*/
      
      
      		//Gestion de l'insertion du membre
      		try
      		{
      			//Ajout dans la table Personne de la BDD
      			Insertion.insertPersonne(numMembre, nomMembre, prenomMembre, titre);
      			//Ajout dans la table Membre de la BDD
      			Insertion.insertResa( numMembre, numGroupe.getnumGroupe(), resp, null, nomMembre, prenomMembre, titre );
      		    JOptionPane.showMessageDialog(this, "Ajout effectué" , "Message", JOptionPane.INFORMATION_MESSAGE );
      		}
      		catch(Exception e)
      		{
      			e.printStackTrace();
      		    JOptionPane.showMessageDialog(this, "Ajout non-effectué\n\n"+e , "Message", JOptionPane.ERROR_MESSAGE );
      		    return;
      		}
      		
      		/*int option = JOptionPane.showConfirmDialog(this, "Voulez vous ajouter ce membre?","Ajouter un membre", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
      		if (option == JOptionPane.OK_OPTION){
      			Insertion.insertResa(vectorMembre);
      		}*/
      
      	    //Remise des champs à vide
      		ViderChamp();
      	    
      	    //Grisonne les champs
      		GrisonnerChamps();
      	    
      	    //Supprime les champs obligatoires
      	    SupprimeObligation();
      	    
                 //Pour Vider la Liste
                myModel.removeAllElements(); 
      
                 <<<<<<<<<<<<<<<<<<<<Ici je voudrais ajouter une fonction à un model
      
      
      	}


      Peut-on ajouter une fonction à un modèle???

      Du coup pour moi :

      Ma fonction s'appelle aaa();(vous y avait le code plus haut dans un des commentaires). elle sert à remplir ma jComboBoxNom.

      Mon modèle : MyModel
      Ma fonction : aaa()

      Peut -on donc les associers??

      Merci d'avance sakoba
      0
  3. Et ou je le créé le :
    DefaultComboBoxModel myModel=new DefaultComboBoxModel();
    JComboBox box=new JComboBox(myModel);
    


    Dans le getjComboBox ou sur quand je clique sur le bouton ajouter??
    0
    1. Bonjour Evites d'utiliser l'objet JCombobox pour modifier ton ComboBox.
      Utilise plutôt le DefaulfComboBoxModel pour les differentes Opération sur ton ComboBox: Example:

      DefaultComboBoxModel myModel=new DefaultComboBoxModel();
      JComboBox box=new JComboBox(myModel);

      //Pour Vider la Liste
      myModel.removeAllElements();

      //Pour Ajouter un Element
      myModel.addElements(rs.getString(1));
      0
      1. C'est Simple utilise le DefaultComboBoxModel comme ça:

        DefaultComboBoxModel myModel=new DefaultComboBoxModel();
        JComboBox box=new JComboBox(myModel);
        myModel.removeAllElements();
        voici un example complet ici:
        http://sakoba.byethost13.com/2011/02/04/java-use-of-combobox/
        0
        1. C'est ce que j'ai fais :

          Je créé un bouton d'ajout et à la fin je met ce code :

          //Rafraichir 
          	    bbb();
          	    aaa();
          


          et voci les deux fonctions dont je fais appelles :

          private void aaa (){
          
          		rsMembre = Select.ListeMembre();
          
          		try
          		{
          		while (rsMembre.next())
          		{
          		Membre r = new Membre();
          		r.setnumPersonne(rsMembre.getInt(1));
          		r.setnumGroupe(rsMembre.getInt(2));
          		r.setresponsabiliteMembre(rsMembre.getString(3).trim());
          		r.setdateNaissanceMembre(rsMembre.getDate(4));
          		r.setnomPersonne(rsMembre.getString(5).trim());
          		r.setprenomPersonne(rsMembre.getString(6).trim());
          		r.settitreCivilite(rsMembre.getString(7).trim());
          		nomPrenom.add(r);
          		}
          		System.out.println(nomPrenom);
          		}
          		catch(Exception e)
          		{
          		System.out.println("Exception " + e.getMessage());
          		}
          		jComboBoxNom.setSelectedIndex(-1);
          		jComboBoxNom.addActionListener(
          		new java.awt.event.ActionListener()
          		{
          		public void actionPerformed(ActionEvent ae)
          		{
          		infos.clear();
          		jButtonEditer.setEnabled(true);
          		String nomPre = jComboBoxNom.getSelectedItem().toString();
          		System.out.println("+++++++++++++++++++++++>>>> Nom prénom: " + nomPre);
          		//String prenom = jComboBoxNom.getSelectedItem().toString();
          		//rsMembreRech = Select.ListeMembreNom(nom, prenom);
          		int ind = nomPre.indexOf(" ");
          		// String nom = nomPre.substring(0, ind); // <<<<<<<<<<<<SUPPRIMER String
          		nom = nomPre.substring(0, ind); // <<<<<<<<<<<<<<<<<<< la ligne devient
          
          		jTextFieldNomMembre.setText(nom);
          
          		ind = nomPre.lastIndexOf(" ");
          		String prenom = nomPre.substring(ind +1);
          		jTextFieldPrenomMembre.setText(prenom);
                                     
                               /*Créer ici  le vecteur infos en ne prenant que les données du membre sélectionné
                                  et les récuperer pour les mettre dans les JTextField */
                               	
                                //Ou même sans créer infos 
                                  //Vector <String> infos = new Vector<String>();
          						// Ajoute ce println ici:
          						System.out.println("nom " + "\"" + nom + "\""); //<<<<<<<<<<<<<<<<<<<<<<<<<<<
          						rsMembre = Select.ListeMembre();
          						try
          						{
          						while (rsMembre.next())
          						{
          						System.out.println("on a bien next...");
          						String nompersonne = rsMembre.getString("nompersonne");
          						System.out.println("nompersonne " + "\"" + nompersonne + "\"");
          						//il faut peut-être faire un trim: nompersonne = nompersonne.trim();
          						nompersonne = nompersonne.trim();
          
          						if(nompersonne.equals(nom))
          						{
          						// et pour voir si on a égalité:
          						System.out.println("on a bien égalité...");
          						// Mais sélectionne en début de liste pour gagner du temps
          						String numpersonne = rsMembre.getString("numpersonne");
          						String numgroupe = rsMembre.getString("numgroupe");
          						String responsabilitemembre = rsMembre.getString("responsabilitemembre");
          						String datenaissancemembre = rsMembre.getString("datenaissancemembre");
          						//String nompersonne = rsMembre.getString("nompersonne");
          						String prenompersonne = rsMembre.getString("prenompersonne");
          						String titrecivilite = rsMembre.getString("titrecivilite");
          						jTextFieldNumeroMembre.setText(numpersonne);
          						jTextFieldDate.setText(datenaissancemembre);
          						System.out.println(datenaissancemembre);
          						break;
          						}
          						}
          						}
          						catch(Exception e)
          						{
          						System.out.println("Exception " + e.getMessage());
          						}
                               }
                            });
                   }	
          	
          	private void bbb(){
          		jComboBoxNom.removeAllItems();
          	}
          	
          


          Si tu veux, d'abors je vide ma combo et après je l'a rempli mais ça me met une erreur comme quoi éclipse n'est pas content du vidage et du remplissage de la combo à cet endroit là.

          Peux-tu m'aider stp?

          merci d'avance
          0
        2. Toujours pas d'aide les amis??
          0