Bonjour,

Je souhaite obtenir le focus ainsi que les éléments sélectionnés, lorsque je double clic sur une cellule éditable d'une JTable. Pour ce faire, je modifie le code ci-dessous qui obtient le focus a partir d'un clic simple.

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
 
TaTable.addMouseListener(new MouseAdapter() {
  public void mouseClicked(MouseEvent e) {
    Point p = e.getPoint();
    int col = taTable.columnAtPoint(p);
    int row = taTable.rowAtPoint(p);
    if (taTable.isCellEditable(row, col)) {
      taTable.editCellAt(row, col);
      taTable.getEditorComponent().requestFocus();
      Component cell = taTable.getEditorComponent();
	if (cell instanceof JTextField)
	{
    		((JTextField) cell).selectAll();
	}
    }
  }
});
J'ajoute if(e.getClickCount()==2){} pour limiter au double clic

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
    taTable.addMouseListener(new MouseAdapter() {
	    	   public void mouseClicked(MouseEvent e) {
 
 
	    		   if(e.getClickCount()==2){
 
	    		    Point p = e.getPoint();
	    		    int col = taTable.columnAtPoint(p);
	    		    int row = taTable.rowAtPoint(p);
	    		    if (taTable.isCellEditable(row, col)) {
	    		    	taTable.editCellAt(row, col);
	    		    	taTable.getEditorComponent().requestFocus();
	    		    	Component cell = taTable.getEditorComponent();
	    		    	if (cell instanceof JTextField)
	    		    	{
	    		    	    ((JTextField) cell).selectAll();
	    		    	}
	    		    }
	    		   }
	    		  }
	    		});

Le résultat de ce code est celui attendu quand je double clic droit sur une cellule mais ne fonctionne pas pour un double clic gauche. Or je souhaiterais le faire fonctionner pour le double clic gauche uniquement.
Pouvez-vous m'indiquer où se trouve le problème.

Merci