Je voudrais contrer l'argument "pas convivial" avec un exemple avec lequel je viens d'être impliqué.
Dans notre application, nous avons une fenêtre principale où les utilisateurs exécutent différents «programmes» sous forme d'onglets séparés. Dans la mesure du possible, nous avons essayé de conserver notre application dans cette fenêtre unique.
L'un des «programmes» qu'ils exécutent présente une liste de rapports qui ont été générés par le système, et l'utilisateur peut cliquer sur une icône sur chaque ligne pour ouvrir une boîte de dialogue de visualisation de rapports. Cette visionneuse montre l'équivalent des pages A4 portrait / paysage du rapport, de sorte que les utilisateurs aiment que cette fenêtre soit assez grande, remplissant presque leurs écrans.
Il y a quelques mois, nous avons commencé à recevoir des demandes de nos clients pour rendre ces fenêtres de visualisation de rapports non modales, afin qu'elles puissent avoir plusieurs rapports ouverts en même temps.
Pendant un certain temps, j'ai résisté à cette demande car je ne pensais pas que c'était une bonne solution. Cependant, mon esprit a changé quand j'ai découvert comment les utilisateurs contournaient cette «déficience» de notre système.
Ils ouvraient une visionneuse, utilisaient la fonction `` Enregistrer sous '' pour enregistrer le rapport au format PDF dans un répertoire spécifique, utilisaient Acrobat Reader pour ouvrir le fichier PDF, puis ils feraient de même avec le prochain rapport. Ils disposeraient de plusieurs lecteurs Acrobat fonctionnant avec les différentes sorties de rapport qu'ils souhaitaient consulter.
J'ai donc cédé et rendu le spectateur sans modèle. Cela signifie que chaque visionneuse a une icône de barre des tâches.
Lorsque la dernière version leur a été publiée la semaine dernière, la réponse écrasante de leur part est qu'ils l'adorent. Il s'agit de l'une de nos améliorations les plus récentes apportées au système.
Vous allez donc de l'avant et dites à vos utilisateurs que ce qu'ils veulent est mauvais, mais en fin de compte, cela ne vous rendra aucun service.
QUELQUES NOTES:
- Il semble préférable d'utiliser JDialog pour ces fenêtres non modales
- Utilisez les constructeurs qui utilisent le nouvel argument
ModalityType
plutôt que l' modal
argument booléen . C'est ce qui donne à ces boîtes de dialogue l'icône de la barre des tâches.
- Pour les boîtes de dialogue non modales, transmettez un parent nul au constructeur, mais localisez-le par rapport à sa fenêtre «parent».
- La version 6 de Java sur Windows a un bogue qui signifie que votre fenêtre principale peut devenir «toujours au top» sans que vous le lui disiez. Mettre à niveau vers la version 7 pour résoudre ce problème