Re : Manipulation de gros tableaux

2002-11-29 Par sujet Nicolas Delsaux
Salut Aurelien,

[...]
Il te faut développer ton propre TableModel qui aille chercher dans la
base mySQL seulement les données à afficher.

Il me semble que JBuilder sait générer ce genre de model
automatiquement.

Mais comme je ne pratique pas trop swing actuellement

C'est également à ça que je pensais. L'idée, c'est que ton TableModel est relié au 
Vector des objets récupérés depuis la base, et sait se déplacer au sein de ce Vector. 
L'avantage, c'est que tu ne manipules jamais de tableaux d'objets (puisqu'un 
TableModel doit essentiellement fournir une méthode getElementAt(x,y)) et que par 
conséquent, tes objets ne sont plus stockés qu'une fois dans ton Vector.
Un autre avantage est que tu sépares clairement le code d'affichage (dans ta classe 
dérivée de JTable) du code d'accès aux données (dans ton TableModel).
Par ailleurs, une bonne solution (que nous pratiquons avec succès) pour éviter le 
OutOfMemoryError dans ton programme qui tue ta tâche, est de disposer d'un Thread 
séparé qui essaye d'allouer toutes les secondes un gros tableau avant de le supprimer. 
Par ce moyen si l'allocation de ce tableau plante, c'est le thread de check mémoire 
qui plante, et non ton application.

hope this helps...

-- 
Use Opera, the most user-friendly browser on Earth


-- 
Nicolas Delsaux
Les maximes du marin shadok : Dans la marine, c'est un principe : il faut saluer tout 
ce qui bouge, et peindre le reste.






Re: Manipulation de gros tableaux

2002-11-28 Par sujet Patrice Godard
Salut Aurelien,

Thursday, November 28, 2002, 10:30:39 PM, tu disais:


AM Bonjour à tous,
AM Je voulais savoir s'il y avais des chausse-trappes et/ou des astuces 
AM particulières pour manipuler de gros tableaux en Java ? Je m'explique: 
AM je doit afficher des tableaux (avec un JTable) d'une taille d'environ 
AM 6400 x 20 Strings, ce qui prends quand même un peu de mémoire. Bien 
AM sûr, dès que j'en ouvre 5 ou 6... OutOfMemoryException =)

AM Donc, y'a-t'il des techniques particulières dont je n'aurais pas 
AM connaissance pour gérer ces données ?
[...]
Il te faut développer ton propre TableModel qui aille chercher dans la
base mySQL seulement les données à afficher.

Il me semble que JBuilder sait générer ce genre de model
automatiquement.

Mais comme je ne pratique pas trop swing actuellement

hope this helps...

-- 
Use Opera, the most user-friendly browser on Earth