Bonjour, enfin bonsoir,
J'ai une une JTable qui affiche une colonne de bouton.
J'ai créer un render qui permet de bien afficher mes boutons.
Jusque ici, tout va bien :P
Ensuit j'ai créer une classe qui étends "AbstractCellEditor" et implémente "TableCellEditor".
Mon problème et que je n'arrive pas à récupérer le clic de la souris, je ne rentre jamais dans le action listener du bouton.
Pour affecter le render et l'editor je récupère la colonne concerné de ma JTable puis je les affectent sur la colonne.
J'ai essayé avec les méthodes:
- setDefaultRenderer
- setDefaultEditor
mais ça ne marche pas du tout 8O
Si ça peut aider voici le code de mon editor :
Le bout de code où j'affecte l'editor:Code:
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 public class StopButtonEditor extends AbstractCellEditor implements TableCellEditor { private HooverFile hooverFile; private JButton stopButton; private HooverFileModel model; public StopButtonEditor (HooverFileModel model) { stopButton = new JButton(); this.model = model; stopButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event) { System.out.println("OUAIIIIIIIIIIIIII"); } }); } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { HooverTableAdapter adapter = (HooverTableAdapter)table.getModel(); hooverFile = (HooverFile)adapter.getValueAt(row, column); return stopButton; } public Object getCellEditorValue() { return hooverFile; } }
Merci d'avance pour vos réponses.Code:
1
2
3
4
5 // Boutton d'actions. column = table.getColumnModel().getColumn(HooverTableAdapter.ACTION_COLUMN); column.setCellRenderer(new StopButtonRenderer()); column.setCellEditor(new StopButtonEditor(model));
Un pauvre développeur dans la galère :P
