Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec une JTable

    13 décembre 2009 à 20:04:44

    Bonsoir à tous,

    Alors voilà le topo : En théorie il suffit d'instancier une JTable en lui passant en arguments les données (en tableau à deux dimensions par ex) et les colonnes. Seulement voilà moi je ne manipule pas de tableaux à deux dimensions pour mes données, mais une liste d'objets ! Chaque objet correspond à une ligne du tableau, chaque objet a donc un attribut pour chaque colonne.

    Pour situer le contexte, admettons qu'on ait une table "users" dans notre base de données, avec les champs "id", "login", et "password". On aurait suite au mapping une classe "users" avec les 3 champs en attribut. Donc pour remplir le tableau faudrait donc que dans la première colonne on fasse un genre de "user.getId()" puis "user.getLogin()" pour la deuxième, etc.

    Vous aurez compris mon problème, la JTable affiche bien le nombre de ligne qu'il faut mais elles sont vides car ma liste d'objets n'est pas gérée par la JTable (logique). Que faut-il faire pour gérer le "décorticage" de mes objets ? J'ai déjà une classe qui hérite de AbstracTableModel mais je sais pas ce qu'il faut surcharger pour remplir ma JTable...

    Merci d'avance pour votre aide ^^

    PS : Vu que les attributs de mes objets font office de colonnes, est-il possible de récupérer la liste des attributs d'un objet (ou d'une classe en général) ? Ca m'éviterait de spécifier manuellement le titre pour chaque colonne pour chaque tableau, ça rendrait donc mon code nettement plus souple.
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2009 à 2:17:19

      Salut Teikou,
      Il m'est arrivé le même problème que toi ya pas si longtemps. Il faut que tu passe par un modèle MVC (Modèle Vue Contrôleur) qui se chargera de faire le lien entre ta collection et ta JTable. Pour la classe AbstractTableModel, tu dois normalement redéfinir les méthodes suivantes : getColumnName(int j), getValueAt(int i, int j), getColumnCount(), getRowCount() et bien sur ton constructeur. Si tu veux je peux t'envoyer mon modèle pour que tu puisse l'analyser et éventuellement t'en inspirer. Donne moi ton mail...

      A+ et Bonne journée
      • Partager sur Facebook
      • Partager sur Twitter

      Problème avec une JTable

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown