35 votes

Quels sont vos meilleurs modèles et conseils de conception Swing ?

J'écris une interface graphique pour une application utilisant Swing, et dans l'intérêt de la maintenance et de la lisibilité du code, je veux suivre un modèle cohérent dans tout le système.

La plupart des articles et des livres (ou du moins des sections de livres) que j'ai lus semblent fournir de nombreux exemples sur la façon de créer et d'agencer divers composants, mais ignorent la vue d'ensemble de l'écriture d'une interface graphique complète.

Quels sont vos meilleurs conseils pour la conception d'une interface graphique d'application, et quels modèles suivez-vous lorsque vous concevez ou remaniez une application avec interface graphique ?

19voto

jfpoilpret Points 6523

Ne dérivez jamais de JDialog, JFrame ou JInternalFrame pour définir vos formulaires, boîtes de dialogue...

Dérivent plutôt de JPanel. Cela vous apportera les avantages suivants :

  • possibilité de passer ultérieurement d'un JFrame à un JDialog par exemple. (parce que l'utilisateur a changé d'avis)
  • vous pouvez réutiliser une instance de panneau d'un JDialog à un autre (les JDialog ne sont généralement pas réutilisables car ils sont construits avec une référence à leur "parent", un cadre ou un autre dialogue)
  • vous pouvez ultérieurement changer de place JDialog par une sous-classe plus fonctionnelle plus fonctionnelle provenant d'un cadre tiers.

15voto

Paul Tomblin Points 83687

Utilisez des gestionnaires de mise en page. Vous pouvez penser qu'il est plus simple de tout positionner avec des positions codées en dur maintenant (surtout si vous utilisez un outil de mise en page graphique), mais quand viendra le temps de mettre à jour le gui, ou de l'internationaliser, vos successeurs vous détesteront. (Croyez-moi sur ce point, j'étais le gars qui disait d'utiliser les gestionnaires de mise en page dès le début, et le successeur du gars qui m'a ignoré).

14voto

Marko Points 13736

Évitez de faire appel à des concepteurs (constructeurs) d'interfaces graphiques. Plus tard, cela rendra votre code beaucoup plus propre et plus facile à maintenir.

9voto

Zach Scrivena Points 15052

Je pense qu'une bonne connaissance pratique de Concurrence est souvent sous-estimée. Vous devez vraiment vous familiariser avec la politique de threading de Swing et les techniques générales de synchronisation pour construire une interface graphique réactive et un backend efficace.

8voto

emeraldjava Points 3546

Mvc est votre ami.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X