Bonjour,
Voilà je ne suis pas encore très à l'aise avec les JTable et là je suis face à un problème mystère (pour moi en tout cas).
Ma classe est la suivante :
La classe JTable Model est celle ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private JTableModel myModel; public JTable table; private int selectedRowCourant = -1; private Object[][] data={{"toto", "tata" , "null"},}; public TableObjetAbstrait() { myModel = new JTableModel(); TableSorter sorter = new TableSorter(myModel); table = new JTable(sorter); sorter.addMouseListenerToHeaderInTable(table); }
Au départ j'ai bien "toto" et "tata" qui s'affiche dans mon tableau.
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 class JTableModel extends AbstractTableModel{ final String[] columnNames = {"Nom", "Observation" };//, "oid"}; public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } public String getColumnName(int col) { return columnNames[col]; } public Object getValueAt(int row, int col) { return data[row][col]; } public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } public boolean isCellEditable(int row, int col) { return false; } }//fin JTableModel
A un moment donné de mon prog j'appelle une méthode changedata(Objet[][]) qui est donc censée changer ces données mais rien ne se passe!!
Le code de la fonction est tout simplement :
Et pas de "titi" "toto" dans mon tableau...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void changedata(){ Object[][] datatmp = {{"titi", "toto" , "null"},}; this.data=datatmp; myModel.fireTableRowsInserted( data.length-1, data.length-1 ); }
J'ai vérifié mon prog rentre bien dans la fonction et des print de data[0][0] et data[0][1] affiche bien titi et toto!...
Une idée? Merci!!
Partager