je cherche à editer les cellule de ma jtable en un clic et non plus en double clic comme par défaut j'utilise cette classe
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
40
41
42
43
44
45
46
47
48
49
50
51
52
public class DeliveryOrderCellEditor extends AbstractCellEditor implements TableCellEditor {
 
    JTextField field = new JTextField();
    @Override
    public Component getTableCellEditorComponent(JTable jtable, Object value, boolean isSelected, int rowIndex, int vColIndex) {
        field.setText((String)value);
        return field;
    }
 
    @Override
    public Object getCellEditorValue() {
        return field.getText();
    }
 
    @Override
    public boolean isCellEditable(EventObject evt) {
        if (evt instanceof MouseEvent) {
             System.out.println("un clic");
            int clickCount;
            clickCount = 1;
            return ((MouseEvent) evt).getClickCount() >= clickCount;
        }
        return true;
 
    }
 
    @Override
    public boolean shouldSelectCell(EventObject eo) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    @Override
    public boolean stopCellEditing() {
        String s = (String) getCellEditorValue();
        return super.stopCellEditing();
    }
 
    @Override
    public void cancelCellEditing() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    @Override
    public void addCellEditorListener(CellEditorListener cl) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    @Override
    public void removeCellEditorListener(CellEditorListener cl) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
et j'applique cette editeur de cellule comme ceci à une colonne de ma jtable(ordersJTable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 TableColumn col = this.ordersJTable.getColumnModel().getColumn(ordersJTable.getColumnModel().getColumnIndex("Tracking_ID"));
                col.setCellEditor(new DeliveryOrderCellEditor());
je parviens bien à avoir ma jtexfields en un clic dans la colonne Tracking_ID et j'y écrit même du texte sauf que quand je change de ligne la valeur précédemment rentrée disparâit, elle n'est pas prise en compte alors que j'ai bien une méthode setValueAt