2 pièce(s) jointe(s)
[JXTable] Editor petit probleme
bonjour
je rencontre un petit probleme avec un cell editor
que voici
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| public class CheckBoxCellEditor implements TableCellEditor {
private final JCheckBox editor;
public CheckBoxCellEditor() {
editor = new JCheckBox();
editor.setHorizontalAlignment(SwingConstants.CENTER);
}
@Override
public Object getCellEditorValue() {
return editor.isSelected();
}
@Override
public boolean isCellEditable(EventObject anEvent) {
return true;
}
@Override
public boolean shouldSelectCell(EventObject anEvent) {
return true;
}
@Override
public boolean stopCellEditing() {
System.out.println("STOP CELL EDITING");
return true;
}
@Override
public void cancelCellEditing() {
// TODO Auto-generated method stub
}
@Override
public void addCellEditorListener(CellEditorListener l) {
// TODO Auto-generated method stub
}
@Override
public void removeCellEditorListener(CellEditorListener l) {
// TODO Auto-generated method stub
}
@Override
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
Color bg = isSelected ? table.getSelectionBackground() : table
.getBackground();
editor.setBackground(bg);
return editor;
}
} |
quand j'arrive sur la cellule j'ai bien l'editeur qui se met en place
Pièce jointe 198567
toutefois quand je selectionne une autre ligne
si je passe bien dans
Code:
1 2 3 4
| public boolean stopCellEditing() {
System.out.println("STOP CELL EDITING");
return true;
} |
l'editeur reste ne place
Pièce jointe 198568
j'aimerais savoir comment desactiver cet editor au changement de ligne
merci