Bonjour,

J'ai un petit problème au niveau de l'update des données de ma JComboBox. Je rempli celle-çi avec un findAll Dao de mes données. J'applique les méthodes CRUD pour ajouter/supprimer/modifier une donnée par ex update d'un nom : Lorsque je valide l'update, la donnée n'est mise à jour que quand je ferme et ré-ouvre la Jdialog (la modification n’apparaît donc pas immédiatement) J'utilise une JComboBox et un model qui se trouve dans une autre classe et qui hérite de DefaultComboBoxModel. Je précise les méthodes fonctionnes sans problème mais seulement après fermeture/réouverture de la Jdialog.

Je poste le morceau de code avec l'insert de la donnée (ici ce sont des agents qui se caractérise par un nom,prénom,email) et la classe avec le model.

Merci à vous,

Charlys1333

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
 
agentDao.insert(agent);
					//Récupération du nom et prénom du client pour le JOptionPane et la méthode afficher();
					String nom = txtNom.getText();
					String prenom = txtPrenom.getText();
					afficher(nom,prenom);
					//CompareTo
					modele.addElement(agent);
					comboAgent.setModel(modele);
					Collections.sort(liste);
					for (Agent agent2 : liste ){
						modele.addElement(agent);
					}
					comboAgent.setModel(modele);
					agentDao.commitTransaction();
					flag = false;
					agentDao.endTransaction();
 
				}}
			catch (MyException e1) {
				System.out.println(e1.getGeneratedMessage());
			}
			finally {
				if (flag) {
					try {
						agentDao.rollbackTransaction();
						agentDao.endTransaction();
					} catch (MyException e1) {
						e1.printStackTrace();
					}
				}
			}
		}
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
 
public class ModelComboAgent extends DefaultComboBoxModel<Agent>  {
 
	List<Agent> listeAgent = new ArrayList();
 
	public ModelComboAgent(List listeAgent) {
		// TODO Auto-generated constructor stub
		//On hérite de DefaultComboBoxModel
		//List des agents dans le constructeur, on peut aussi utiliser une classe pour la collection
		super();
		this.listeAgent = listeAgent;
	}
 
	public ModelComboAgent() {
		// TODO Auto-generated constructor stub
		//On hérite de DefaultComboBoxModel
		super();
	}
 
	public void addAgent(Agent agent) {
		listeAgent.add(agent);
	}
 
	public List<Agent> getListAgent() {
		return listeAgent;
	}
 
	public void setListAgent(List<Agent> liste) {
		this.listeAgent = listeAgent;
	}
 
//	public void ajouterElement(Agent agent){
//		super.addElement(agent);
//	}
 
}