J'ai un problème avec mon code comme suit: p> mais cela fonctionne Seulement pour Maj + Supprimer l'opération. Semble qu'il remplace l'opération CTRL + X. Pouvons-nous faire fonctionner ces deux clés de frappe en même temps? P> veuillez guider. P> p> SETACCelerator () code>. À l'heure actuelle, j'ai le code qui fonctionne pour CTRL + X pour la suppression de l'opération. Je veux définir l'accélérateur sur Shift + Supprimer aussi pour le même
jmenuitem code>.
3 Réponses :
de: http: // java .sun.com / j2se / 1.4.2 / Docs / API / Java / AWT / AWTEvent.html
Les masques sont également utilisés pour spécifier quels types d'événements un Awteventlistener devrait écouter. p> blockquote>
Vous pouvez donc combiner le masque pour deux clés, mais pas les keyevents. p>
xxx pré> une solution de contournement serait d'attraper le keefent au milieu ( Une fois que votre composant le tirait, mais avant que vos auditeurs n'y agissent) et que vous vérifiez, que ce soit l'une des deux combinaisons. Ensuite, tirez un événement sur lequel vous acceptez de manière programmable de représenter l'action que vous souhaitez. P> p>
Cela devrait être un ou au lieu d'un plus: keyevent.ctrl_mask | Keyevent.shift_mask code>
Le deuxième appel remplit effectivement l'accélérateur. Si la méthode commence par set, il n'y en aura qu'un. Si la méthode commence par ADD, vous pouvez avoir plus d'un (par exemple pour un certain nombre d'écouteurs). P>
Si vous voulez que plusieurs coups de frappe font de même, je pense que vous devez ajouter un Keylistener au cadre supérieur (ou panneau, boîte de dialogue, ...) qui invoque les auditeurs d'action ajoutés au menuem. P>
Oui, cela peut être fait. Dans les coulisses, le SETACCelerator () crée simplement une liaison de clé, cependant que vous avez remarqué que la deuxième liaison remplace le premier. P>
Donc, vous devez créer une action (pas un actelistener) pour ajouter l'élément de menu. Lisez la section du tutoriel de swing sur Comment utiliser les actions pour Plus d'information. Maintenant que vous avez créé l'action, vous pouvez partager l'action avec une autre touche de frappe en créant manuellement une liaison clé. Vous pouvez lire la section à partir du tutoriel de swing sur Comment utiliser les liaisons de clés a> pour une explication détaillée. Ou vous pouvez lire mon blog sur Bindings de clés qui donnent un code simple Exemples. P>
Cette seconde liaison ne s'affichera pas sur l'élément de menu lui-même. P>