changer le contenu de la cellule sélectionnée
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:
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:
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