Bonjour,
je réalise actuellement un outil qui utilise une jtable. Pour le rendre plus ergonomique, j'aimerais qu'en appuyant sur ctrl+d le contenu de la colonne n°1 de la ligne sélectionnée soit copié dans la colonne n°2

j'ai donc rajouté le raccourci suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        table.getInputMap (JComponent.WHEN_IN_FOCUSED_WINDOW).put (KeyStroke.getKeyStroke (KeyEvent.VK_D, InputEvent.CTRL_MASK),
            "quick copy shortcut");
 
        table.getActionMap().put("quick copy shortcut", new AbstractAction() {
            public void actionPerformed(ActionEvent ae) {
                quickCopy();
            }
        });
Mais j'ai un problème avec la méthode quickCopy :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    private void quickCopy() {
        int row=table.getSelectedRow();
        if( row == -1)
        {
            return;
        }      
    table.setValueAt(table.getValueAt(row, 1), row, 2);
setValueAt est bien appelé mais le contenu de la cellule ne change pas. Si je change row par row-1 par contre cela fonctionne (mais n'est pas ce que je souhaite faire). Je soupçonne l'appui sur la touche d de faire passer la jtable en mode édition ce qui empêche une autre méthode de l'éditer, mais je ne sais pas comment remédier à celà.

Merci d'avance pour votre aide