8
votes

Java balançoire jmenu mnémonique

J'ai un menu que j'ai créé à l'aide de JMENU. Je veux affecter une clé de raccourci Alt-F à ce menu. J'ai utilisé Setmnemonic ('F') pour le faire, mais le menu ne reconnaît pas le mnémonique.

Quelle est la meilleure façon de résoudre ou de déboguer ce problème? Je trouve que le réglage d'un point de pause n'en aide pas beaucoup. P>

Merci. P>

Code Snippet: P>

//higher up in variable declaration
/** Menus on the menu bar */
private JMenu uiFindMnu           = new JMenu("Find");
...
//inside the constructor
// set mnemonic for the Find menu
uiFindMnu.setMnemonic('F');


3 commentaires

Je pense que nous allons avoir besoin de voir du code.


Pourquoi quelqu'un pourrait-il suivre cette question? C'est des trucs de base. Tout ce que l'affiche doit faire est de lire l'API JMENU pour trouver un lien vers le tutoriel de swing sur "Comment utiliser les menus" pour un exemple de travail. Pourquoi récompenser les gens avec des points d'être paresseux? Non seulement cela sans un SSCCE, nous perdons du temps devinant ce que l'affiche aurait pu faire de mal, la question n'est donc pas une question complète.


J'ai trouvé que JMENU Mnemonic se comporter différemment de se comparer à une touche mnémonique. Lorsque je veux cliquer sur un bouton à l'aide de Mnemonic, je peux simplement appuyer sur Alt Suivre par la lettre de coupe courte. Avec JMENU, je dois: appuyer sur le bouton ALT, attendre la balançoire sur Hightlight Le premier menu, utilisez la touche fléchée pour choisir l'autre menu ou appuyez sur les alphabets de raccourci correspondants pour sélectionner le menu.


3 Réponses :


3
votes

Utiliser setmnémonique (keevent.vk_f);

Je vous recommande de lire ceci sur JMENUS: HOWTO Utilisez des menus

Voici un extrait de cet article:

Les menus soutiennent deux types d'alternatives de clavier: mnemonics et accélérateurs. Les mnémoniques offrent un moyen d'utiliser le clavier pour naviguer la hiérarchie des menus, augmentant l'accessibilité des programmes. Les accélérateurs, d'autre part, offrent des raccourcis clavier à contourner Naviguer la hiérarchie du menu. Les mnémoniques sont pour tous les utilisateurs; Les accélérateurs sont destinés aux utilisateurs de puissance.

Un mnemonic est une clé qui fait choisi un élément de menu déjà visible. Par exemple, à menudemo, le premier menu a le mnémonique A, et son deuxième élément de menu a le Mnemonic B. Cela signifie que lorsque vous courez Menudemo avec l'aspect java et la sensation, appuyant sur l'alt et une touche fait apparaître le premier menu. Bien que le premier menu soit visible, appuyez sur La touche B (avec ou sans ALT) fait choisi le deuxième élément de menu. Un élément de menu affiche généralement son mnémonique en soulignant le premier occurrence du caractère mnémonique dans le texte de l'élément de menu, comme le suivant des spectacles d'instantané. B est le caractère mnémonique de ce menu Article

Vous pouvez spécifier un mnémonique soit lorsque vous construisez l'élément de menu ou avec la méthode Setmnémonic. Voici des exemples de mnémoniques et accélérateurs: xxx

Comme vous pouvez le constater, vous définissez un mnémonique en spécifiant la constante KeyEvent. correspondant à la clé L'utilisateur doit appuyer sur.


2 commentaires

Donnera cela un essai et je vais laisser tout le monde savoir le résultat


@zfranciscus a édité mon message avec un lien expliquant tout ce que vous devez savoir sur JMENUS :)



6
votes

à l'intérieur d'un constructeur de classe (Extentant JFRAME):

JMenu helpmenu = new JMenu("File");
helpmenu.setMnemonic('F');
JMenuBar menubar = new JMenuBar();
menubar.add(helpmenu);
setJMenuBar(menubar);


1 commentaires

Bonne réponse, mais c'est Pas une bonne idée à "EXTENDY (ING) JFRAME"



3
votes

a souffert de problème similaire et s'est rendu compte qu'en raison du cadre de l'apparence après l'initialisation des composants causés à la question. Retourna les déclarations et cela a fonctionné.

Posté un blog post ici


0 commentaires