Bonsoir a tous, je veux ajouter des colonnes a un jtable.
mercie de m'aider
Bonsoir a tous, je veux ajouter des colonnes a un jtable.
mercie de m'aider
Tu dois créer ton propre modèle, dans lequel tu vas modifier l'attribut correspondant aux noms de tes colonnes avec les nouvelles données que tu veux afficher.
Ensuite, tu modifies ton tableau de données (ArrayList de préfèrence pour que l'ajout de données soit facilité, avec un tableau c'est plus embêtant).
Enfin, tu balances un petit fireTableDataChanged() pour dire que t'as touché aux données de ta table.
Je crois que c'est à peu près tout...
je n'ai rien compris tu peu etre plus explicite.
lol, au moins, c'est direct
Tu dois créer une classe qui étend AbstractTableModel ou DefaultTableModel suivant tes préfèrences, dans laquelle tu dois stocker 2 informations :Tu dois créer ton propre modèle, dans lequel tu vas modifier l'attribut correspondant aux noms de tes colonnes avec les nouvelles données que tu veux afficher.
- le nom de tes colonnes
- ton tableau de données
Dans DefaultTableModel, ces 2 varaibles membres sont
- protected Vector columnIdentifiers : The Vector of column identifiers.
- et protected Vector dataVector : The Vector of Vectors of Object values.
Dans AbstractTableModel, c'est toi qui doit les créer : tu leur donnes le type que tu veux et le nom que tu veux (moi j'utilise des ArrayList, mais chacun son truc)
Une fois que tu l'as créé, tu crées ta JTable à partir de ce modèle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part new JTable(TableModel tonModel);
Quand tu veux ajouter des colonnes, tu modifies ta variable contenant les noms de tes colonnes, et celle contenant tes données de manière à ce que ça contienne tout ce que tu veux afficher après ton ajout de colonnesEnsuite, tu modifies ton tableau de données (ArrayList de préfèrence pour que l'ajout de données soit facilité, avec un tableau c'est plus embêtant).
Tu appelles la méthode fireTableDataChanged() sur ton modèle afin d'avertir ton appli que ta JTable a été modifié.Enfin, tu balances un petit fireTableDataChanged() pour dire que t'as touché aux données de ta table.
Au pire, tu tentes un petit repaint() si ta table ne s'est pas mise à jour.
Ca va mieux?
tres claire merci enormement, j'essaie ça.
si tu ajoute des colonne c'est fireTableStructureChanged qu'il faut appeler.
ou bien
tu refait un setModel sur ta JTable.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager