Bonjour
Je voudrais savoir comment marche une JTable. J'ai déjà lu tous les liens que vous donnez habituellement et j'ai aussi fait une recherche sur le forum et lu tous les posts. Mais...
Je ne comprend pas du tout comment ça marche. J'ai compris qu'il fallait un modèle avec quelques méthodes pour gérer la table. Mais je n'arrive pas à ajouter une ligne...
Voici mon modèle :
Le problème, c'est que je ne connais pas le nombre d'enregistrement à afficher, ça dépend d'une recherche dans le fichier.
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 class MyModel extends javax.swing.table.AbstractTableModel { private String[] columnNames = {"Nickname", "Password", "URL", }; private Object[][] data ; public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public String getColumnName(int col) { return columnNames[col]; } public Object getValueAt(int row, int col) { return data[row][col]; } public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } public void setValueAt(Object value, int row, int col) { data[row][col] = value; fireTableCellUpdated(row, col); // actualiser la table } }
Et par conséquent, si je fais un truc dans le genre, pour ajouter :
ca me lance une exception ArrayBound... donc que j'ai accédé à un endroit du tableau où il faut pas. Et en effet, ne connaissant pas le nombre d'enregistrement, j'ai déclaré mon tableau data vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part model.setValueAt("Boyz",0,0);
Par contre, si je le déclare avec un enregistrement, ça modifie bien les données :
j'ai bien une modification de "Nasky" en "Boyz"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part private Object[][] data = { "Nasky", "mot2passe", "Dvp" } ;
Alors ma question : comment faire pour ajouter une ligne sans connaitre le nombre à afficher.
Et enfin, en faisant une recherche sur le forum, j'ai vu des codes n'implémentant pas la méthode setValueAt et qui pourtant semblent pouvoir ajouter une ligne.
C'est un peu confus pour moi ....
Par contre, je répète que j'ai bien lu les tutorials sur Internet mais que je ne les ai pas compris. Ils ne sont pas très clairs.
Quand j'aurais compris comment fonctionne la JTable, je ferai moi-même un tutorial pour expliquer correctement le fonctionnement...
Merci
Nas'
Partager