J'ai enregistré des raccourcis clavier sur le bouton et j'aimerais réagir à toutes les touches numériques. Je pourrais enregistrer un événement différent pour chaque touche (0-9), mais c'est stupide. Alors est-il possible de tout gérer en un seul événement?Comment configurer les raccourcis clavier qui traitent tous les traits numériques en un seul événement?
Voici mon code qui réagit uniquement à la clé 0 sur numpad:
private void setKeyBindings() {
AbstractAction aa = new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
System.out.println("Here");
}
};
this.editButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, 0), "0");
this.editButton.getActionMap().put("0", aa);
}
Merci
Bonne réponse, @camickr. Compile tel quel, facile à mettre en œuvre. – DSlomer64
Cela suppose que vous avez un bouton pour sauvegarder le 'Action' et la liaison de clé avec si;) – MadProgrammer
@MadProgrammer, vous n'avez pas besoin du bouton. J'ai changé le code pour démontrer l'ajout de la liaison au panneau de boutons. Fonctionne avec ou sans le bouton ajouté au panneau. La commande d'action contiendra le caractère du clavier. – camickr