Insertion/Suppresion d'une ligne dans une Jtable [JAVA] - Java - Programmation
Marsh Posté le 03-05-2005 à 01:25:07
y'a un truc chelou là:
tableModel = new MyDefaultTableModel(columnNames); |
t'es sur de ce que tu fais? (passer la reference dans les deux sens à tes deux objets?)
Marsh Posté le 03-05-2005 à 10:13:26
the real moins moins a écrit : y'a un truc chelou là:
|
Non, tout va bien sur cette partie normalement.
De plus, je peux l'enlever du code et ne laisser que:
Code :
|
et la si je fais tableModel.addRow(test), ca foire!
En fait, je crois savoir d'où vient le problème:dans mon DefaultTableModel, j'utilise un tableau d'objet fixe: Object[][] tableData;
et donc lors de l'ajout d'une ligne, j'ai un débordement.
Il faudrait reallouer le tableau, mais comment faire alors?
Marsh Posté le 03-05-2005 à 10:35:55
on peut pas ajouter des données dans un tableModel construit autour d'un tableau, c'est logique, on peut pas ralonger ou racourcir un tableau.
Marsh Posté le 03-05-2005 à 12:29:04
nraynaud a écrit : on peut pas ajouter des données dans un tableModel construit autour d'un tableau, c'est logique, on peut pas ralonger ou racourcir un tableau. |
Donc j'ai deux choix: ou bien je repasse en argument un tout nouveau tableau, ou alors j'utilise un vecteur à la place d'un tableau Object[][], ou alors, j'utilise par défaut les methodes natives du DefaultTableModel (et je vire tous les TableData et cie)
Marsh Posté le 04-05-2005 à 11:10:32
je suis assez partisant du DefaultTableModel (a priori, vu que j'ai pas ton contexte).
Repasser tout, c'est niet, ça fait bosser la machine pour rien et on va encore dire que java ça rame.
Marsh Posté le 03-05-2005 à 01:09:57
Bojour à tous,
La question semble être simple à la base, mais j'ai un problème d'insertion ou de suppression de ligne dans un JTable.
En fait, j'utilise mon propre DefautTableModel et que j'utilise avec le TableSorter du tutorial de JAva (dont le code est ici
pour avoir le tri des colonnes.
Je fais ma déclaration comme ci dessous:
J'ai ensuite un bouton pour ajouter ou supprimer une ligne dans le tableau, mais la methode défini dans mon modele de table ne marche pas:
De même, je ne peux pas utiiliser les methodes addRow ou removeRow du tableModel hérité du DefaultTableModel car si je fais tableModel.addRow ou removeRow, j'ai un java.lang.ArrayIndexOutOfBoundsException: at java.util.Vector.removeElementAt(Unknown Source) ?
Donc j'avoue ne plus savoir qu'est ce qu'il faut faire exactement, car lorsqu'on fait une JTable toute simple, il n'y a pas de problème:
Si on prend l'exemple:
ca marche parfaitement, mais si j'implemente un modele, c'est cuit
ESt-ce le fait d'utiliser le modele TableSorter qui fout la merde?
Si quelqu'un a une idée sur le sujet , je suis preneur!