Bonjour tout le monde,
Me voila de nouveau confronter au joie de l'informatique avec ses problèmes que l'on ne comprends pas, c'est pour cela que je fais encore une fois appel à votre aide.
Donc voila, j'ai une liste d’élèves dans un JTable, pour compter le nombre d’élèves, de filles et de garçons je regarde si c'est un "M" ou un "F" dans la colonne sexe, jusque la tout va bien.
Ensuite, je clique sur un bouton pour afficher les résultats, lors du premier appui cela fonctionne très bien.Je ferme la fenêtre ou les résultats sont affichés.
Maintenant je rajoute un ou plusieurs élèves dans ma JTable, je reclique sur le bouton, la fenêtre s'ouvre bien mais,voila le problème, ceux sont les résultats du premier clic qui s'affiche, les bons résultats s'affichent,seulement,après un deuxième clic sur le bouton avec la fenêtre déjà ouverte.
Voila, si quelqu'un a une idée pour m'aider, je vous remercie d'avance.
Je vous joint mes 2 fonctions de calculs, ma fonction d'affichage de la fenetre et l' ActionListener du bouton
Merci.
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 public void compter_ligne(){ ligne = table.getRowCount() - 1; System.out.println("eleve : " +ligne); } public void compter_fille(){ String mec = "M"; String femme = "F"; fille = 0 ; garcon = 0; for(int i=1;i<table.getRowCount();i++) { String test =(String) (table.getValueAt(i,2)); if (test.equalsIgnoreCase(mec)) { garcon++; } else if (test.equalsIgnoreCase(femme)) { fille++; } } System.out.println("\ngarcon : " +garcon); System.out.println("\nfille : " +fille); } public void fenetre_compter(){ JLabel compteur_eleve = new JLabel(); JLabel compteur_fille = new JLabel(); JLabel compteur_garcon = new JLabel(); JPanel lepanel = new JPanel(); lepanel.setLayout(new GridLayout(3,1)); compteur_eleve.setText("nombre d'eleve : " + ligne); compteur_fille.setText("nombre de fille : " + fille); compteur_garcon.setText("nombre de garcon : " + garcon); compteur_eleve.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); compteur_fille.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); compteur_garcon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lepanel.add(compteur_eleve); lepanel.add(compteur_fille); lepanel.add(compteur_garcon); compteur.getContentPane().add(lepanel); compteur.setTitle("Compteur"); compteur.setSize(500,250); compteur.setVisible(true); compteur.setLocationRelativeTo(null); } if(e.getSource() == bouton2) { compter_ligne(); compter_fille(); fenetre_compter(); }
Partager