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"}; // lentê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; } }
Partager