J'aimerais contrer l'argument du "manque de convivialité" avec un exemple auquel je viens d'être confronté.
Dans notre application, nous avons une fenêtre principale dans laquelle les utilisateurs exécutent divers "programmes" dans des onglets séparés. Dans la mesure du possible, nous avons essayé de limiter notre application à cette seule fenêtre.
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 fenêtre de visualisation du rapport. Cette visionneuse affiche l'équivalent de la ou des pages A4 du rapport en format portrait ou paysage, et les utilisateurs aiment que cette fenêtre soit assez grande, remplissant presque leur écran.
Il y a quelques mois, nous avons commencé à recevoir des demandes de nos clients pour que ces fenêtres de visualisation de rapports soient sans modèle, afin qu'ils 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, j'ai changé d'avis lorsque 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 faisaient de même avec le rapport suivant. Ils utilisaient plusieurs Acrobat Reader avec les différents rapports qu'ils souhaitaient consulter.
J'ai donc cédé et fait en sorte que le visualiseur ne soit pas un modèle. Cela signifie que chaque visionneuse a une icône dans la barre des tâches.
Lorsque la dernière version leur a été présentée la semaine dernière, ils ont été nombreux à dire qu'ils l'ADORENT. C'est l'une des améliorations récentes les plus populaires du système.
Vous allez donc dire à vos utilisateurs que ce qu'ils veulent est mauvais, mais que cela ne vous rendra pas service.
QUELQUES NOTES :
- Il semble que la meilleure pratique consiste à utiliser des JDialog pour ces fenêtres sans modèle.
- Utilisez les constructeurs qui utilisent le nouveau
ModalityType
plutôt que le booléen modal
argument. 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 sans modèle, passez un parent nul au constructeur, mais localisez-les par rapport à leur fenêtre "parent".
- La version 6 de Java sur Windows a un bogue ce qui signifie que votre fenêtre principale peut devenir "toujours en haut" sans que vous le lui disiez. Passez à la version 7 pour corriger ce problème
12 votes
Seulement si vous visez une installation multi-moniteurs !
18 votes
Je dirais aussi que c'est agnostique de la langue et a trait à la interface utilisateur plus que Java spécifiquement.
7 votes
Je suis d'accord avec cela @WChargin Cette question a pris plus de valeur que je ne l'aurais jamais imaginé !
2 votes
Je remarque que les débutants (comme moi) utilisent généralement plusieurs JFrames. Probablement parce qu'il est plus facile de l'appeler depuis l'intérieur du JFrame principal que d'utiliser, par exemple, un CardLayout. Bien que dans certains cas, il ne soit pas conseillé de l'utiliser.
0 votes
Déboguer serait comme manger du cactus ce n'est pas conseillé.
1 votes
Bien que ce post soit étiqueté comme "basé sur l'opinion", je le trouve très utile car les deux parties : ceux qui sont contre et ceux qui sont pour donnent leurs opinions et exemples basés sur ce qu'ils ont vécu. Ceci est utilisé à d'autres.. Je cherchais à développer une application java avec plusieurs Jframes Je me demandais si c'était une mauvaise pratique peut-être mais dans les faits, je vois que les gens le font et que d'autres ne le font pas donc je suis d'accord avec cela