Bonjour à tous,
je développe actuellement une application en java qui dois permettre la gestion d'outils (tournevis ect....).
J'utilise pour cela une JTable avec un model personnalisé qui hérite de: AbstractTableModel.
Je souhaiterai que lorsque qu'un utilisateur appuie sur un bouton de mise à jour, l'application recharge la table "outils" en base de données, charge une LinkedList et l'envoie au model personnalisé avec les nouvelles valeurs.
Mais voila le problème, la table n'affiche pas les nouvelles valeurs mise à jour.
Voici le code:
Constructeur du Model:
Code du Listener du bouton de mise à jour:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 /** * Constructeur * @param uneListe */ public ModelTable(LinkedList<Class_Outil> uneListe) { this.setDesOutils(uneListe); this.data = new Object[this.desOutils.size()][19]; int i=0; for (Iterator<Class_Outil> localIterator = this.desOutils.iterator(); localIterator.hasNext(); i++) { Class_Outil unOutil = (Class_Outil) localIterator.next(); this.data[i][0] = unOutil.getAtelier(); this.data[i][1] = unOutil.getSite(); this.data[i][2] = unOutil.getAffectation(); this.data[i][3] = unOutil.getDesignation(); this.data[i][4] = unOutil.getConstructeur(); this.data[i][5] = unOutil.getType(); this.data[i][6] = unOutil.getNumSerie(); this.data[i][7] = unOutil.getIdentification(); this.data[i][8] = unOutil.getDebutDeValidite(); this.data[i][9] = unOutil.getEtat(); this.data[i][10] = Integer.valueOf(unOutil.getPas()); this.data[i][11] = unOutil.getFinDeValidite(); this.data[i][12] = unOutil.getVerification(); this.data[i][13] = unOutil.getCategorie(); this.data[i][14] = unOutil.getObservation(); this.data[i][15] = new JButton(); this.data[i][16] = new JButton(); this.data[i][17] = new JButton(); this.data[i][18] = new JButton(); } }
J'instancie la table et le model lors du clic sur le bouton lister. Je n'ai simplement pas mis le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 else if(e.getSource() == this.btMAJ) { this.unModel.setDesOutils(this.modelOutil.selectAll()); this.uneTable.setModel(this.unModel);
En parcourant plusieurs forum, certains m'ont conseillés de faire: maTable.setModel(monModel); comme je l'ai fait au dessus, mais ça ne fonctionne pas.
N’étant pas un expert en java, mais étudiant, mes connaissance arrivent à leurs termes.
Quelqu’un y verrai une piste de réflexion que je pourrai exploiter?
En vous remerciant, bonne soirée.
Partager