rebonjour tout le monde, j'ai de nouveau besoin de vos lumières.
donc voila jai une table toute simple a 2 colonnes. la 2eme colonne est composée de jcheckbox. j'ai un listener sur la table qui me préviens quand je clique sur une jcheckbox.
un extrait du code du constructeur pour voir la structure :
Mon problème est le suivant : lorsque je clique sur une jchekbox, tout ce passe normalement : la méthode tableCritMouseReleased(e) est bien appelée. Par contre si j'ai le malheur de sortir de la jcheckbox en laissant appuyé le bouton de la souris, il ne se passe rien (normal) MAIS la jcheckbox prends une couleur bleutée comme si elle était sélectionnée (par contre l'état visible (cochée ou non) de la jcheckbox ne change pas) et lorsque je reclic dessus, ca la coche ou la décoche sans passer par le listener.
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 jTableCritModel = new DefaultTableModel() { public Class getColumnClass(int vIntCol) { return getValueAt(0, vIntCol).getClass(); } public boolean isCellEditable(int iRowIndex, int iColumnIndex) { if (iColumnIndex == 0) { return false; } else { return true; } } }; this.getColumnModel().getColumn(1).setCellRenderer(this. getDefaultRenderer( Boolean.class)); this.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tableCritMouseReleased(e); } }); setRowSelectionAllowed(false); setColumnSelectionAllowed(false); setCellSelectionEnabled(false); setDragEnabled(false); tableHeader.setReorderingAllowed(false);
Donc en gros quand je fais un espece de drag&drop sur une jcheckbox et que je sors du cadre de celle ci, elle devient selectionner et il n'y a plus de listeners levés quand je reclique dessus la fois suivante.
Savez vous ce qu'il convient de faire dans ces cas la ?
Partager