Bonjour,
Je rencontre quelques difficultés à comprendre le fonctionnement des Jtables et des modèles associés permettant de gérer l'affichage de données. Je suis à la recherche d'un tutorial ou d'aide me permettant de comprendre et de trouver une gestion efficace de ma Jtable.
Tout d'abord une explication de ce que je souhaite faire :
Je requête actuellement une base de données HSQL et souhaite afficher les données retournées à l'aide d'un resultset par ma fonction de requêtage dans une Jtable.
Pour cela j'ai compris qu'il fallait que j'utilise un TableModel qui me permettrait de définir les tableaux de string et d'objet nécessaire à l'affichage des données mais aussi à la bonne initialisation des renderers (c'est juste ?)( case à cocher si boolean, Jlabel si string ...)
En fouinant sur google, j'ai pu trouver un ensemble d'exemple utilisant tous des classes différentes pour étendre ou implémenter leur classe modèle : DefaultTableModel, AbstractTableModel, TableModel . J'avoue ne pas bien comprendre la différence entre l'utilisation de ces classes et interfaces. La première sert à la définition d'un tablemodel par défaut, la second a définir un modèle abstrait ... mais cela ne m'avance pas pour savoir laquelle je dois utiliser et comment ...
Ensuite et c'est particulièrement là ou je butte, je souhaite surtout gérer l'affichage des headers de mes colonnes : par exemple si je fais une requête select ID, NOM, PRENOM from ETUDIANT; je souhaite spécifier que la colonne ID soit invisible (widht=0) mais toujours présente car elle sera utilisée pour générer de nouvelles requêtes en fonction des actions utilisateurs, que le label de la colonne nom soit "Nom de l'étudiant" et que la largeur soit égal à 100 et qu'elle soit située après la colonne prénom par exemple ....
Pour cela je pense récupérer l'entête de la colonne retourné par le resultset et à l'aide de "case" définir les propriétés de chaque colonne.
Cependant les tableModel ne me permettent pas de jouer directement sur les headers des Jtable puisqu'ils ne définissent que des tableaux de string et d'objet.
Aussi pour cela j'ai vu qu'il était possible de définir des modèles d'header que l'on passe en paramètre au constructeur de la Jtable. Mais je ne sais comment l'implémenter pour faire ce que je souhaite.
A force de chercher je commence à m'embrouiller et ne plus voir ce que je dois faire, aussi si quelqu'un pouvait éclairer ma lanterne et me montrer la bonne direction...![]()
Partager