Salut,
existe-t-il un moyen de forcer le rechargement du model d'une JTable ?
Salut,
existe-t-il un moyen de forcer le rechargement du model d'une JTable ?
salut benoît,
un repaint devrait suffir à moins que tu ne fasses quelque chose de plus compliqué
lancer un évènement fireTableChanged(), mais normalement si tu rajoutes les éléments au model de ta JTableil fait le rafraichissement automatiquement
salut ,
ce que tu veux c'est que lorsque le contenu de ta jtable change , il affiche automatiquement les changements?
si oui , il faut que tu crée un model (du style AbstractTableModel )qui va contenir tes données.
ensuite dans le constructeur de ton Jtable tu lui donne ton model.
qd tu fais des changement tu les fais dans ton model, et tu appelles la methode fireTableStructureChanged() qui va notifiée a tout les ecouteurs que le model a changé. Cela dervait rafraichir ta "vue" .
En fait mon problème est plus bizarre que ça...
Normalement, un des avantages du model est justement de pas se prendre la tête à rafraîchir quoi que se soit dans la JTable.
Mais dans mon cas (qui n'est pas exactement une JTable) lorsque j'ajoute des éléments au model et que le model était vide juste avant, la JTable n'affiche plus rien ! Mon model quant à lui contient bien l'élément ajouté...
Les ajouts et suppression dynamique si le model n'est pas vide ne pose aucun problème...
ça me parait bizarre ça, je vois pas trop d'ou ça peut venir, sinon tu pourrais t'en sortir avec une solution de repli en mettant une ligne bidon ou il n'y a rien dans les cases quand le model est vide.
à tient est ce qu'au départ les données du model ne sont pas mis à null au qqch du genre ça peut peut-être poser problème
Ta solution de repli ne me convient pas, je ne peux pas me permettre de bidouiller comme ça sur ce coup là
rien n'est null au départ...
Pour être un peu plus précis :
Mon model est un model étendant DefaultTreeTableModel (API de JDNC sous LGPL téléchargeable sur leur site) qui permet d'avoir un abre et un tableau à la fois. Ce model a une racine qui, elle, n'est jamais nulle (le premier élément pris en compte est le premier fils de la racine).
Le composant affichant tout ça étant JNTreeTable (toujours dans l'API de JDNC). Ce n'est donc pas une JTable mais une JNTreeTable étendant JNTable qui lui contient un attribut JXTable étendant JTable (on y arrive ...)
Je sais pas si c'est renseignement vont vous aider à m'aider...
Partager