lol, au moins, c'est direct
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.
Tu dois créer une classe qui étend AbstractTableModel ou DefaultTableModel suivant tes préfèrences, dans laquelle tu dois stocker 2 informations :
- 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 :
new JTable(TableModel tonModel);
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).
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 colonnes
Enfin, tu balances un petit fireTableDataChanged() pour dire que t'as touché aux données de ta table.
Tu appelles la méthode fireTableDataChanged() sur ton modèle afin d'avertir ton appli que ta JTable a été modifié.
Au pire, tu tentes un petit repaint() si ta table ne s'est pas mise à jour.
Ca va mieux?
Partager