5. Conclusion.▲
Nous venons de voir le fonctionnement du GridBagLayout, un gestionnaire de placement vraiment très flexible qui a la réputation d'être trop complexe à comprendre et à utiliser. Nous pensons que, pris petit à petit, ce gestionnaire de placement est accessible à tous et ne devrait pas poser trop de difficultés.
Par contre, nous sommes bien conscients de ses défauts. L'un de ses plus gros défauts est qu'il ne respecte pas par défaut les UI guidelines de la plateforme (Windows XPWindows XP Guideline, Apple Max OS XMax OS X Guideline). Pour s'y adapter, et maintenir la portabilité, il faudrait énormément de temps. De plus, comme nous pouvons préciser des marges en pixels, les interfaces utilisant un GridBagLayout peuvent difficilement agir sur les proportions. Mais rappelons-nous que le GridBagLayout a plusieurs années de vie derrière lui, qu'il a donc été longuement utilisé et qu'il est encore intéressant de bien le connaitre.
C'est pour toute une série de défauts du GridBagLayout que de nouveaux gestionnaires de placement émergent petit à petit qui d'une manière ou d'une autre apporte une réponse à certains de ses problèmes. Comme par exemple, le GroupLayout, récemment ajouté à l'API Java, permet de résoudre un des problèmes majeurs du GridBagLayout, à savoir, l'espacement entre les composants. Le GridBagLayout permet de spécifier des marges en pixels, mais ces marges font partie des UI guidelines de la plateforme. Par exemple, il se pourrait que les marges entre une étiquette et un champ de saisie soit de 10 pixels lorsque nous sommes sous Windows et soit de 8 pixels sous Mac OS X. Le GroupLayout se charge donc de calculer ces marges pour correspondre à la plateforme.
De plus, le GridBagLayout est incapable d'assurer une taille minimum à un composant. Si la taille du container diminue plus que nécessaire à attribuer à chacun des composants leurs tailles minimales, les composants peuvent encore être rapetissés. Ce comportement n'est souvent pas souhaité. Le BoxLayout apporte une solution à ce genre de problème.
Pour terminer, nous voulons juste préciser que le but de ce tutoriel était d'expliquer le fonctionnement du GridBagLayout. Nous reviendrons une prochaine fois sur d'autres gestionnaires de placement et sur leur utilité. Mais sachez que toute remarque, un tant soi peu constructive, est la bienvenue pour améliorer, corriger ou débattre du contenu de ce tutoriel.
Références.▲
Pour plus d'informations sur le GridBagLayout, rendez-vous sur le site de référenceThe Java Tutorial - uiswing - GridBagLayout. Pour tout autres questions, nous vous invitons à les poser sur le le forumForum des interfaces Graphiques.
Remerciements.▲
Je tiens à remercier toute l'équipe Java de developpez.com pour m'avoir aidé à terminer ce premier tutoriel, et plus particulièrement wichtounetSite personnel de Baptiste Wicht pour toutes ses relectures et ses bons conseils.