Mettre jcombobox a vide après modif
MacJéjé
-
MacJéjé -
MacJéjé -
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
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/-
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 -
-
-
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)); -
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?? -
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);-
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
-
-
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()