2009-09-23 30 views
0

Mon application est sensible au contexte et je construis de manière dynamique des menus pour la fenêtre principale/contexte/popup, et d'autres endroits. Je sais généralement si une commande de menu donnée sera valide étant donné l'état actuel de l'application. Est-il préférable de désactiver/griser les options de menu qui ne s'appliquent pas actuellement OU puisque je génère le menu de toute façon, les OMIT entièrement?Vaut-il mieux désactiver ou omettre les options de menu contextuel/contextuel?

L'application est un Java/Swing est n'importe qui est curieux. La question semble indépendante de la boîte à outils GUI mais peut dépendre de la plateforme.

Répondre

1

Les anciennes directives d'Apple indiquent Désactiver pour les menus fixes (dans la barre de menus) et omettent les menus contextuels. Je suppose que la motivation est qu'un menu contextuel est censé afficher uniquement les options disponibles dans le contexte particulier, et que les menus principaux sont censés afficher toutes les commandes, de sorte que l'utilisateur sache où "Enregistrer" serait même si ce n'est pas sélectionnable pour le moment.

+0

J'aime les réponses et ils se renforcent mutuellement, mais je vais accepter celui-ci pour aider à construire un certain représentant;) – basszero

+0

Je suis vraiment ici pour obtenir un score élevé: D – Seth

0

Pour les menus contextuels, je dirais que si l'article est applicable à ce qui était d'un clic droit, mais est pour une autre raison en dehors indisponible, désactivez-le. Si cela ne s'applique pas au clic droit, cachez-le, car il n'y a aucune chance qu'il apparaisse. Exemple:

Lorsque je clic droit sur la zone d'arrière-plan de cette page dans Firefox les quatre premiers éléments sont de retour, avant, recharge et Stop. Forward et Stop sont désactivés car ils ne sont pas des actions valides pour le moment (je n'ai pas d'historique de transfert et la page ne se charge plus). Ces quatre types sont très systématiquement proposés, ils sont attendus, des commandes globales, souvent utilisées. Ce sont les quatre principaux contrôles "de navigation" et par défaut ils ont des homologues de barre d'outils (sous la forme de gros boutons dédiés).

Cependant, si je clic droit sur une image, je reçois des options complètement différentes dans le menu contextuel tous liés à la visualisation, l'enregistrement et la copie de l'image sous où je clique dessus. Ces options n'apparaissent pas du tout (même pas désactivées) en utilisation normale car elles sont très spécifiques à ce sur quoi j'ai cliqué. Lorsque vous cliquez avec le bouton droit sur la zone d'arrière-plan, Arrêter et Transférer, alors que les actions ne sont pas valides, sont toujours applicables à ce que j'ai cliqué (la page) mais sont indisponibles pour d'autres raisons ...

Comme la règle pour les menus dans la barre de menu du haut, l'objectif n'est pas de surprendre les utilisateurs avec des commandes apparaissant soudainement, du point de vue de l'utilisateur, pour des raisons inexplicables.

Questions connexes