Bonjours, alors je suis actuellement en stage, je fait une application en java et j'aurai besoin de votre aide :

Pour résumer :
j'ai un jtable qui a son abstractTablemodel. le tableau est un tableau de contact (nom, prénom, ...) et je souhait rajouter une colonne avec un bouton par ligne qui aura comme action de supprimer la ligne ou se situe le bouton.
Et la je bloque je comprend rien au différent exemple sur internet.
Les données sont chargées via une base de donnée


Code l'abstractTablemodel

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
 
package IHM;
 
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import DAO.ContactHasApplicationHome;
import DAO.ContactHome;
import util.Contact;
import util.ContactHasApplication;
 
public class Table_Contact extends AbstractTableModel {
 
    private static final long serialVersionUID = 1L;
 
    private final List<Contact> List_Contact= new ArrayList<Contact>();
 
    private final String[] entetes = {"Id", "Nom", "Prénom", "Téléphone", "Email", "Entreprise", "Supprimer"}; // l’entête supprimer et pour la colonne avec les boutons    
 
 
    public Table_Contact() // constructeur basique
    {
        super();
        ContactHome contact = new ContactHome();
        List <Contact> list= contact.ListContact(); // récuper la liste des contact
        for(int i =0; i<list.size();i++)
        {
            Contact cont = list.get(i);
            List_Contact.add(cont);
        }
    }
 
    public Table_Contact(int id_application, int type) // constructeur selon le type de contact
    {
        super();
        ContactHasApplicationHome contactHasApplication = new ContactHasApplicationHome();
        ContactHome contact = new ContactHome();
        List <ContactHasApplication> list= contactHasApplication.ListContactHasApplication(); 
 
        for(int i =0; i<list.size();i++)
        {
            if((list.get(i).getApplicationIdApplication()==id_application)&&(list.get(i).getTcontactIdTcontact()== type))
            {
                Contact cont = contact.get_byId(list.get(i).getContactIdContact());
                List_Contact.add(cont);
            }
        }
    }
 
 
    @Override
    public int getColumnCount() {
        // TODO Auto-generated method stub
        return entetes.length;
    }
 
    @Override
    public int getRowCount() {
        // TODO Auto-generated method stub
        return List_Contact.size();
    }
 
     public String getColumnName(int columnIndex) {
            return entetes[columnIndex];
        }
 
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch(columnIndex){
        case 0:
            return List_Contact.get(rowIndex).getIdContact();
        case 1:
            return List_Contact.get(rowIndex).getNom();
        case 2:
            return List_Contact.get(rowIndex).getPrenom();
        case 3:
            return List_Contact.get(rowIndex).getTelephone();
        case 4:
            return List_Contact.get(rowIndex).getEmail();
        case 5:
            return List_Contact.get(rowIndex).getEntreprise(); 
        /*case 6:
            return new ButtonRenderer();*/ je dois mettre quoi là? pour la colonne à bouton
        default:
            return null; 
        }
    }
 
    public void removeContact(int rowIndex)
    {
        List_Contact.remove(rowIndex);
        fireTableRowsDeleted(rowIndex, rowIndex);
    }
 
    public void addContact(Contact C) {
        List_Contact.add(C);
        fireTableRowsInserted(List_Contact.size() -1, List_Contact.size() -1);
    }
 
    public Contact getData(int  row)
    {
        return List_Contact.get(row);
    }
 
    public List<Contact> getContact() {
        return List_Contact;
    }
 
}