Problème disposition GridBagLayout - Java - Programmation
Marsh Posté le 21-04-2010 à 11:59:13
franchement laisse tomber le gridbaglayout c'est trop compliqué.
Utilises plutot le tablelayout. Il est plus simple. Je l'ai appris en - d'un jour . Il est moins prise de gueule, bc plus logique et plus stable.
après tu fais ce que tu veux...
Marsh Posté le 21-04-2010 à 14:23:55
Bah je sais pas je le trouve assez intéressant. Et pour ce qui est de la difficulté, j'ai fais le tuto de chez developpez.com (http://bbclone.developpez.com/fr/java/tutoriels/uiswing/gridbaglayout/?page=page_sommaire) qui est, je trouve, très clair.
Pour l'instant tout marche comme je veux, j'avais juste un incompris sur cette propriété quoi Mais merci de ta réponse, je me pencherais plus sur ton layout si je bloque vraiment avec le gridBagLayout ^^
Marsh Posté le 21-04-2010 à 14:34:02
pour_lespubs a écrit : franchement laisse tomber le gridbaglayout c'est trop compliqué. |
Le GridBagLayout n'est pas compliqué si tu utilises ces classes : http://louis.cova.neuf.fr/blocs-notes/page11.html
Ca simplifie grandement la chose et tu fais ce que tu veux avec après.
Marsh Posté le 21-04-2010 à 16:56:15
Citation : Remaider est calculé pour prendre tout l'espace restant sur la ligne. Donc si ta ligne fait trois colonnes et si tu places ton composant en première colonne avec un gridwidth en REMAINDER, ton composant aura à disposition les trois colonnes. De fait le GridBag choisit d'étendre au max les colonnes contenant des composants qui ont un gridwidth de 1, c'est à dire les deux dernières dans ton cas. |
Voilà j'ai trouvé la réponse à ma question
Marsh Posté le 22-04-2010 à 10:22:31
Deamon a écrit : |
oui,
mais si tu dois encore ajouter des classes pour arriver à faire ce que tu veux de manière "stable", autant prendre une librairie simple pour faire le travail.
GridBagLayout est super puissant et compliqué. Dès que tu modifies un param ca peut impacter tout le rendu . Tu as vu le code que tu dois taper?
Je suis un mauvais développeur : je cherche la simplicité et je n'aime pas les choses compliquées .
bon oki --> je sors et bon courage pour tes devs...
Marsh Posté le 22-04-2010 à 10:30:28
pour_lespubs a écrit : mais si tu dois encore ajouter des classes pour arriver à faire ce que tu veux de manière "stable", autant prendre une librairie simple pour faire le travail. |
Ces 2 petites classes ne sont pas là pour voir un truc stable mais un truc simplifié justement. Et c'est pas la mort d'ajouter ces 2 classes dans un projet.
Et un param qui ne modifie rien c'est qu'il ne sert à rien donc normal que ça impacte le rendu.
Marsh Posté le 21-04-2010 à 11:05:16
Bonjour,
Tout d'abord, je suis en train de développer des JPanels avec un GridBagLayout. Je rencontre un problème au niveau de la disposition de mes cellules. J'ai compilé mon code étape par étape, et le problème provient de l'instruction que j'attribue à deux JLabels :
gridwidth = GridBagConstraints.REMAINDER;
En effet, voici le résultat que je désire et que j'obtiens en laissant la propriété à sa valeur par défaut :
http://uppix.net/7/5/0/ee8fd1a504f [...] 9b7987.jpg
Les traits de tableaux correspondent à la représentation de la grille virtuelle du GridBagLayout, ils sont juste là à titre représentatif.
Et voici ce que j'obtiens en passant la propriété des deux JLabels ( "Add SlowControl" et "Informations" ) à GridBagConstraints.REMAINDER :
http://uppix.net/7/c/e/b87c6ba383a [...] e2bc51.jpg
Je ne comprends pas pourquoi le fait de mettre cette valeur à la propriété écrase les cellules vides et donc me fait perdre l'indentation des JLabels recherchée. Si quelqu'un à une réponse à mon problème je suis tout ouï !
Voici le code qui correspond à mon problème (les deux JLables en question sont lblAdd et lblInfoAdd) :
Je ne sais pas si c'est ces balises là qu'il fallait utiliser pour le code ...