Bonjour,
Conformément au tuto sur le keybinding j'ai écrit ceci pour mon JTextPane:
Et ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 txtTags.getActionMap().put("autoselect",new AbstractAction() { public void actionPerformed(ActionEvent e) { System.out.println(">>>TAB"); } }); txtTags.getInputMap().put(KeyStroke.getKeyStroke(Keyevent.VK_ENTER,0),"autoselect"); txtTags.getInputMap().put(KeyStroke.getKeyStroke(Keyevent.VK_TAB,0),"autoselect");
Quand j'appuie sur TAB ou ENTER mon dialogue se ferme, car il y a par défaut un keybinding vers le bouton OK de la fenêtre.
Pourtant cela me semble ok, puisque la doc explique que cela fonctionne par ordre de priorité et que si un InputMap WHEN_FOCUSED est précisé, l'action associée a précédence sur les autres actions.
Je vois bien encore la piste du "consume()", mais je ne vois pas où le placer dans un ActionEvent !!
Une idée pour m'aider à sortir de là ?
Merci,
Partager