JTable dynamique

nico -  
 gege -
salut a tous,

J'ai un soucis au niveau d'un JTable Dynamique.
En gros, j'ai une JFrame, dans laquelle on peut faire des requetes, et afficher le resultat dans la JFrame. Ensuite, en cliquant sur le nom des colonnes, le tableau est trié ..
Probleme : lorsque je fais plusieurs requetes a la suite, si je trie, il reprend les données de la permiere requete, mais uniquement lors du tri !!!

code :
//Model de base
mt = new MonTableur(data, columnNames);
//Model de trie
mtt = new MonTableurTrie(mt);
// Création de la JTable
jt = new JTable(mtt);
// Selection uniquement des colonnes
jt.setRowSelectionAllowed(false);
jt.setColumnSelectionAllowed(true);
//Mouse Listener
jt.getTableHeader().addMouseListener(new MouseAdapter(){
public void mouseClicked (MouseEvent event){
int tableColonne = jt.columnAtPoint(event.getPoint());
int modelColonne = jt.convertColumnIndexToModel (tableColonne);
mtt.sort(modelColonne);
}
});

et dans la classe MonTableurTrie

public void sort (int c){
ColonneTrie=c;
System.out.println(lignes.length);
Arrays.sort(this.lignes);
fireTableDataChanged();
}

Deja dans la fonction sort du MouseListener, le this.lignes ne correspond pas, alors que tout est recréer au debut, le model, la JFrame, etc ....

Je ne sais pas si j'ai été tres claire.
Merci du coup de main

Nico

3 réponses

Pool Orion Messages postés 124 Statut Membre 55
 
J'ai un peu du mal de suivre ton code, mais voici ce que je peux te dire :

Si tu modifie le modele de ta JTable (modification des données) il faut également que tu repasse ce modèle à ta class MonTableurTrie sinon cette dernière continue de travailler avec l'ancien modèle de la JTable.
0
eric
 
Bonjour,

J'ai un probleme avec une JTable : j'ai une classe modele pour générer les tables. En parametres du constructeur du modele, je passe deux tableaux : un tableau de titres et un tableau de tableaux contenant les donnees de ma table. Quand je crée deux tables à la suite, la deuxieme reprend systematiquement les titres et les donnees de la premiere.
A chaque creation de table, je prend pourtant une nouvelle instance de ma classe modele.
Quelqu'un aurait-il la solution ? Merci d'avance.

eric.
0
gege
 
0