Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question newbie (DefaultTableModel et AbstractTableModel)

2 réponses
Avatar
Bernard Koninckx
Bonjout à tous,

Je me pose des questions quant à l'utilisation de l'AbstractTableModel et au
DefaultTableModel. Quand est-il préférable d'utiliser l'un plutôt que
l'autre ?

Merci à tous pour vos suggestions, trucs et astuces.

Bernard

2 réponses

Avatar
Francis JUGE-BOIRARD
DefaultTableModel est une implémentation complète que tu peux utiliser
directement.
AbstractTableModel est abstrait, tu ne peux pas l'utiliser directement,
cette class est prévue pour être étendue.
ex :
class MyModel
extends AbstractTableModel...
Avatar
jocelyn
Si tu regardes le source de DefaultTableModel, tu verras qu'en fait il
utilise en interne un vecteur pour stocker ses données. Donc si cette
implémentation te convient tant mieux. Sinon il va falloir etendre
AbstractTableModel ou meme implementer directement TableModel.
Pour illustrer, j'ai eu il y a qques temps à concevoir des objets pour
faciliter la vie de mes collègues. Quand on interroge la base, on se
retrouve en effet avec une liste (ArrayList) d'objets métiers (mettons des
Adresse). Pour mettre tout ce beau monde dans une JTable, on peut
effectivement parcourir la liste et pour chaque Adresse créer un Vector
possédant toutes les colonnes que l'on désire afficher. On crée ainsi un
Vector de Vector qu'on peut envoyer a DefaultTableModel....
On peut mais tu conviendras que c'est d'une lourdeur affligeante (pour le
développeur et pour le système). Puisqu'on a au départ une liste qui a une
bonne tete, pkoi ne pas l'exploiter directement ? Dans ce cas la on regarde
AbstractTableModel et on l'étend pour qu'il fasse ce que l'on veut.
Evidemment le cout en developpement à la base est bcp + eleve, mais par la
suite l'utilisation est + agreable et on cree moins d'objets.

PS: pour info j'ai mis 1 mois pour le faire en partant de 0, et en ajoutant
pas mal de fonctionnalites dont je ne parle pas ici.

--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à ne
pas devenir un monstre lui-même

"Bernard Koninckx" a écrit dans le message
news: 40792ce4$0$1352$
Bonjout à tous,

Je me pose des questions quant à l'utilisation de l'AbstractTableModel et
au

DefaultTableModel. Quand est-il préférable d'utiliser l'un plutôt que
l'autre ?

Merci à tous pour vos suggestions, trucs et astuces.

Bernard