Bonjour, voici mon code concernant une JTable ; en fait, son contenu est réactualisé à chaque clic sur un bouton...
Pour le premier clic, ça marche sans problème mais dès qu'on clic plusieurs fois, il semblerait qu'il ne supprime pas la première ligne (ou la dernière) ; où est l'erreur ?
Je pense que je vous ai donné trop de code étant donné qu'il semblerait que cela ne concerne que la suppression d'une ligne (la première ou la dernière)
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 if (e.getSource() == afficher) { //Réinitialisation des modèle pour éviter les doublons for (int i=0;i<modelCT.getRowCount();i++){ modelCT.removeRow(i); } tableCT.setModel(modelCT); //Recherche des différents chargés de travaux et de leurs périodes d'activités String requete="SELECT P.nom, P.prenom, A.datedebut,A.datefin,A.numeroverification from ARCHIVESCT A, personnes P where idatt = '" + this.attestations.getSelectedItem() + "' AND P.login=A.CT ORDER BY datedebut"; //Nombre de colonnes pour savoir comment se distribuent, via un tableau, les données int colNb = 5; //Exécution de la requete ResultSet rs = db.getQuery(requete); int i=0; while (rs.next()) { //Affectation String nom=rs.getString("nom"); String prenom=rs.getString("prenom"); String debut=rs.getString("datedebut"); String fin=rs.getString("datefin"); String num=rs.getString("NUMEROVERIFICATION"); //Récupération des dates String[] tab=debut.split(" "); debut = franciserDate(tab[0]); if (fin!=null){ //si il y a une date de fin tab = fin.split(" "); fin = franciserDate(tab[0]); } else{ //Sinon ; sans cela : risque d'erreur de variable non initialisée fin=""; } //Tableau pour insérer les données de la ligne dans le modèle String[] objects = new String[colNb]; objects[0]=nom; objects[1]=prenom; objects[2]=debut; objects[3]=fin; objects[4]=num; //Transfert du tableau vers le modèle modelCT.addRow(objects); i++; } System.out.println(modelCT.getRowCount()); //System.out.println(i); //Modification de la table des chargés de travaux tableCT.setModel(modelCT);
Partager