Bonjour a tous,
En fait j'ai plusieurs questions :
J'ai une Jtable, un model de table (AbstractTableModel) et un renderer(DefaultCellRenderer)
1. Les données se trouvant au niveau du model sont dynamique. A tout moment je peux avoir une colonne en plus, une colonne en moins.
J'avertis mon model via une methode qu'il faut recharger les données.
ensuite je lui dis que la structureà changer (FireStructureDataChanged).
Cependant après l'appel de cette méthode, le nombre de colonne qui aurait du changer reste au même nombre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Est ce que j'utilise le bonne event (fireTableStructureChanged()) ?
2. Lors de l'affectation du renderer au Jtable, je ne connais que la colonne 0. Le renderer est valable pour toutes les cellules de mon tableau ... J'aimerais que lors du changement des données, mon renderer s'applique a toutes les cellules et pas uniquement aux cellules de la colonne 0.
Merci à tous pour vos réponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Quel event appeler pour ça ?
voici les quelques lignes de code :
Application GUI :
au niveau du modele c'est la methode setList qui est appellée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 jTable2 = new JTable(); TabCellRender tcr = new TabCellRender(); jTable2.setModel(mst); jTable2.setDefaultRenderer(String.class,tcr); jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION ); jScrollPane2.getViewport().add(jTable2); mst.fireTableStructureChanged();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void setList(ArrayList ar){ if(this.ar != null) this.ar.remove(this.ar.size()-1); this.ar = ar; MStagiaires ms = new MStagiaires(); ms.setId(((MStagiaires)ar.get(0)).getId()); ms.findById(); ar.add(ms); fireTableStructureChanged(); }
Partager