Mettre jcombobox a vide après modif

Fermé
MacJéjé - 4 févr. 2011 à 14:53
 MacJéjé - 5 févr. 2011 à 11:46
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

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
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
Toujours pas d'aide les amis??
0
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
D'accord merci bien de ton aide précieuse
0