[JTable] comportement bizarre lors de la selection d'une jcheckbox
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 :
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 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); |
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.
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 ?