Bonjour,
comme l'indique le sujet du post, je n'arrive pas à modifier les cellules du tableur, et ce, depuis que je passe par une classe pour stocker les données.
Dans ma classe principale:Puis la classe de gestion des données:
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 public class Compta extends JFrame { private CTableDonnees m_tableDonnees; // La classe qui va gérer les données /.../ public Compta() { super(); JTable jTableur; /.../ m_tableDonnees = new CTableDonnees(); jTableur = new JTable(m_tableDonnees); // La classe des données dans le tableur /.../ // On met tout ça dans la fenêtre: getContentPane().add(new JScrollPane(jTableur, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER), BorderLayout.CENTER); }J'ai bien évidemment rajouté aussi:
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
34
35
36
37
38
39 public class CTableDonnees extends AbstractTableModel { // La liste des lignes de données: private final List<CLigneOperation> m_Operations = new ArrayList<CLigneOperation>(); /.../ public CTableDonnees() { super(); } /.../ @Override public int getColumnCount() { return /.../ } @Override public int getRowCount() { return /.../ } @Override public Object getValueAt(int ligne, int colonne) { return /.../ } @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { /.../ } }Ce qui m'inquiète est que lorsque je clique sur une case de la table, je constate que le programme ne passe pas dans la méthode IsCellEditable().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public boolean IsCellEditable(int rowIndex, int columnIndex) { return true; }
Et un petit détail qui me chagrine: je me suis appuyé sur le tutoriel de Baptiste WICHT, dans lequel, cette méthode est marqué Override. Or en ce qui me concerne, mon éditeur n'est pas d'accord et m'informe que "La méthode IsCellEditable(int, int) de type CTableDonnees doit remplacer ou implémenter une méthode de super type". Il me propose d'ôter l'instruction Override.
Qu'en pensez-vous ?
Partager