Bonjour à tous,
J'ai un petit soucis. J'ai redéfini un JTable et surchargé la méthode changeSelection afin que lorsqu'une cellule du tableau est sélectionnée, celle-ci passe automatiquement en mode édition (comme si l'utilisateur avait double cliqué dessus).
Ce code fonctionne très bien. Le problème est qu'en mode édition il n'est plus possible de sortir du tableau à l'aide des touches Ctrl+Tab ou Ctrl+Shift+Tab. Malheureusement, ceci a l'air d'être le comportement par défaut de Java.
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 @Override public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) { super.changeSelection(rowIndex, columnIndex, toggle, extend); TableCellEditor c = getCellEditor(rowIndex, columnIndex); selectCell(rowIndex, columnIndex); } private boolean selectCell(final int rowIndex, final int columnIndex) { boolean editSuccess = editCellAt(rowIndex, columnIndex); if (editSuccess) { Component editor = getEditorComponent(); editor.requestFocus(); if (JTextComponent.class.isAssignableFrom(editor.getClass())) { ((JTextComponent) editor).selectAll(); } } return editSuccess; }
J'ai bien essayé en ajoutant un KeyListener et un KeyBinding mais aucun effet, le focus reste sur la cellule en mode édition.
Ce que j'aimerai c'est pouvoir utiliser ces raccourcis pour pouvoir sortir de mon tableau.
Une autre solution que j'aimerais avoir au final c'est de pouvoir, en appuyant sur la touche Tab en étant dans la dernière cellule de mon tableau, mettre le focus sur l'élément suivant au tableau mais sans que ma table n'ait de référence sur son container parent et sans que ma table n'ait de référence sur le prochain élément à "focuser".
Si vous avez une solution ou une piste je suis prenneur.
Merci d'avance
Sebbo
Partager