Bonsoir à tous, je suis sur un projet en Java, j'essaie actuellement de faire des test:
J'explique la situation :
- J'ai une classe Client avec ses accesseurs et autre méthode.
- Une fenêtre swing avec un JTable pour afficher les clients.
- Une classe modeleClients liée à mon JTable.
- La classe Main ou j'effectue des tests
Mon problème étant que je ne parvient pas à afficher ma liste de client dans mon JTable, je vous montre mon code :
Ma classe ModeleClientsMa class Main (Je ne met pas tout le code) :
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 public class ModeleClientsextends AbstractTableModel { private final String[]entetesColumn = {"Numero client", "Type de contrat", "Nom", "Ville", "Rue", "N° rue", "Code postale", "Téléphonne", "Téléphonne bis"}; private ArrayList<Client>ListClient = new ArrayList<Client>(); public ArrayList<Client> getListClient() { return ListClient; } public void setListClient(ArrayList<Client> listClient) { ListClient = listClient; } /** * Retourne le nombre de ligne du modele */ @Override public int getRowCount() { return ListClient.size(); } /** * Retourne le nombre de colonne du modele */ @Override public int getColumnCount() { return entetesColumn.length; } /** * Retourne le nom de la colonne à l'index columnIndex */ @Override public String getColumnName(int columnIndex) { return entetesColumn[columnIndex]; } /** * Retourne la valeur de la cellule à la valeur ligne/colonne */ @Override public Object getValueAt(int rowIndex, int columnIndex) { switch(columnIndex) { case 0 : return ListClient.get(rowIndex).getIdClient(); case 1 : return ListClient.get(rowIndex).getIdTypeClients(); case 2 : return ListClient.get(rowIndex).getNomClient(); case 3 : return ListClient.get(rowIndex).getVilleClient(); case 4 : return ListClient.get(rowIndex).getRueClient(); case 5 : return ListClient.get(rowIndex).getNumRueClient(); case 6 : return ListClient.get(rowIndex).getCpClient(); case 7 : return ListClient.get(rowIndex).getTel1Client(); case 8 : return ListClient.get(rowIndex).getTel2Client(); default : throw new IllegalArgumentException(); } } }
Et dans ma fenêtre je fais
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 public class MainTestBis { public static void main(String[] args) { // TODO Auto-generated method stub //Requete de type SELECT *; ModeleClients monModele = new modeleClients (); ArrayList<Client> LstClient = new ArrayList<Client>(); while(rs.next()) { LstClient.add(new Client(rs.getInt("ID_CLIENT"), rs.getInt("ID_TYPE_CLIENT"), rs.getString("NOM_CLIENT"), rs.getString("VILLE_CLIENT"), rs.getString("RUE_CLIENT"), rs.getInt("NUM_RUE_CLIENT"),rs.getInt("CP_CLIENT"),rs.getInt("TEL_1_CLIENT"), rs.getInt("TEL_2_CLIENT"))); } monModele .setListClient(LstClient); Fenetretest oFen = new Fenetretest(); rs.close(); stmt.close(); } catch (Exception e) { e.printStackTrace(); } } }Je récupère bien ma liste de client j'ai fait un test avec ma méthode getListClient(), le problème étant que je n'arrive pas à l'afficher, je n'ai que les entêtes de mes colonnes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part JTable jTable = new JTable(new modeleClients());
Merci de votre aide.
Partager