Comment puis-je attribuer Entrez la touche de déclenchement de tous les JButtons dans mon application Java?
Je suis en train d'écrire un Java Swing application à l'aide du Métal look-and-feel. Chaque fois qu'il ya un JButton dans mon application, l'utilisateur utilise la touche Tab pour déplacer le focus sur le bouton, puis appuie sur la touche Entrée. Rien ne se passe! Si il frappe de la touche Espace sur le bouton événements sont déclenchés. Comment puis-je attribuer la touche Entrée pour déclencher les mêmes événements que la touche Espace? Je vous remercie pour votre aide.
OriginalL'auteur Alfred B. Thordarson | 2009-01-13
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé le suivant:
http://tips4java.wordpress.com/2008/10/25/enter-key-and-button/
Où Rob Camick écrit que lors de l'utilisation de JDK5 et plus tard, vous ajoutez simplement...
...à la demande pour résoudre le problème. Cela a fait l'affaire pour moi! Et je ne peux pas imaginer quelque chose de plus simple. Cependant, lors de l'utilisation des anciennes versions de Java, vous aurez à faire quelque chose comme Richard et Pierre décrire dans leurs réponses à cette question.
OriginalL'auteur Alfred B. Thordarson
Ici est un parfait exemple. Richard était proche, mais vous avez aussi besoin de carte appuyé sur la touche ENTRÉE à l'action, et pas seulement libéré. Pour le faire fonctionner pour TOUS les boutons, j'ai mis ce mappage d'entrée par défaut de la carte pour les boutons. Ajouter les importations, et il doit être exécutable.
OriginalL'auteur Peter Štibraný
En fait, c'est un look et un problème. Il est (et doit être) jusqu'à l'apparence et se sentir pour ce qui touche déclenche le bouton.
Le "bouton par défaut" travail autour des œuvres depuis le L&F vous utilisez utilise l'entrée pour le bouton par défaut.
Pierre contournement explicitement les changements de L&F valeur par défaut de "concentrer l'action de la clé" - qui est un peu plus convaincant, si vous me demandez.
Je voudrais ajouter que je ne pense pas que beaucoup d'utilisateurs veulent onglet pour le bouton, puis appuyez sur entrée (la plupart ne remarquerez même pas l'indicateur de mise au point) - ils veulent de l'action par défaut pour être le "bon" et de travailler où ils le appuyez sur entrée. Ceci ne peut être fait avec la participation de cartes de Richard suggère.
Je suggère obtenir une image très claire de ce que vos utilisateurs veulent et attendent (de préférence avec référence à d'autres applications qu'ils utilisent) avant de changer quoi que ce soit à l'échelle mondiale.
OriginalL'auteur Draemon
Vous le faites par l'affectation d'une entrée /de l'action de la carte pour la touche d'Entrée. Quelque chose comme ce qui suit:
Vous pouvez sous-classe JButton et les ajouter dans le constructeur.
OriginalL'auteur Richard Campbell
Vous pouvez également définir le "bouton par défaut" pour le bouton le plus récemment concentré.
Je l'ai fait sur une application, et toutes les méthodes sont un cauchemar à maintenir et à déboguer. Le fait est, ce n'est clairement pas ce que les concepteurs de Swing prévu de se produire.
OriginalL'auteur davetron5000
Extension aux réponses ci-dessus, à faire de même avec la radio , des cases à cocher.
Appelé ce, avant la création de composants
OriginalL'auteur rinjan