Editeur de GridBagConstraints

Lorsque vous utilisez le concepteur d'interface utilisateur pour créer un conteneur GridBagLayout, JBuilder instancie automatiquement un objet GridBagConstraints chaque fois qu'un composant est ajouté au conteneur. Il utilise les valeurs de contraintes par défaut, et/ou des valeurs calculées à propos des composants existants au cours de la conversion d'une autre disposition (comme XYLayout) vers GridBagLayout. L'éditeur de Constraints de GridBag vous permet de modifier ces contraintes.

L'éditeur de Constraints est accessible de deux manières :

Chaque contrainte de l'éditeur de propriété correspond directement à une contrainte de la classe GridBagConstraints comme spécifié ci-dessous.

Pour plus d'informations sur GridBagLayout et ses contraintes, voir la rubrique "Tutoriel GridBagLayout.

Grille

X et Y

Utilisez les contraintes de position sur la grille X (gridx) et Y (gridy) pour spécifier l'emplacement de la cellule correspondant au coin supérieur gauche du composant. Cette valeur de contrainte est un entier représentant le rang d'une cellule dans une colonne ou une ligne. Par exemple, gridx=0 est la première colonne à partir de la gauche et gridy=0 est la première ligne à partir du haut. De ce fait, un composant ayant les contraintes gridx=0 et gridy=0 sera placé sur la première cellule de la grille (en haut et à gauche).

Il existe une valeur de contrainte supplémentaire pouvant être utilisée pour gridx et gridy, appelée RELATIVE (la valeur par défaut). RELATIVE spécifie que le composant sera placé relativement au composant placé précédemment comme ci-après :

Pour spécifier une valeur RELATIVE de la position X ou de la position Y dans l'éditeur de la propriété Constraints, entrez -1.

Largeur et Hauteur

Utilisez les contraintes de position sur la grille Largeur (gridwidth) et Hauteur (gridheight) pour spécifier le nombre de cellules de la ligne (gridwidth) ou de la colonne (gridheight) qui seront utilisées par le composant. Cette valeur de contrainte est un entier représentant le nombre de cellules d'une ligne ou d'une colonne, ce n'est pas le nombre de pixels.

Il existe deux valeurs de contrainte supplémentaires pouvant être utilisées pour gridwidth et gridheight: RELATIVE et REMAINDER.

RELATIVE spécifie que ce composant est le voisin du dernier de la ligne (gridwidth) ou de la colonne (gridheight). Un composant utilisant RELATIVE occupe toutes les cellules restantes sauf la dernière. Par exemple, dans une ligne de six colonnes, si le composant démarre à la troisième colonne, une largeur de grille RELATIVE va lui faire occuper les colonnes 3, 4 et 5.

REMAINDER spécifie que ce composant est le dernier de la ligne (gridwidth) ou de la colonne (gridheight).

Encarts externes

Utilisez Encarts externes (insets) pour spécifier en pixels la quantité minimale d'espace externe devant exister entre le composant et les bords de sa zone d'affichage. Vous pouvez spécifier une valeur pour chaque côté du composant séparément : Haut, Gauche, Bas, Droite.

Taille de l'ajout d'espaces

La taille de l'ajout d'espaces spécifie la marge interne d'un composant. Utilisez Largeur (ipadx) et Hauteur (ipady) pour spécifier (en pixels) la quantité d'espace à ajouter à la taille minimale du composant en tant que marge interne.

La largeur d'un composant sera au moins égale à sa largeur minimale plus son ipadx exprimé en pixels. (En dépit du fait que les commentaires Javadoc indiquent ipadx*2, le code réel n'effectue qu'un seul ajout.) De même la hauteur du composant sera au moins sa hauteur minimale plus les pixels de son ipady exprimé en pixels.

Exemple :

Valeurs ajoutées à un composant ayant une largeur de 30 pixels et une hauteur de 20 pixels :

Largeur

Largeur (ipadx) spécifie le nombre de pixels à ajouter à la largeur minimale du composant.

Hauteur

Hauteur (ipady) spécifie le nombre de pixels à ajouter à la hauteur minimale du composant.

Poids

Utilisez les contraintes de poids pour spécifier comment distribuer l'espace conteneur supplémentaire verticalement (weightx) et horizontalement (weighty) lorsque le conteneur est redimensionné. Les poids déterminent comment l'espace est réparti entre les composants lorsque le conteneur est agrandi au-delà de sa taille par défaut.

Par exemple, si vous avez trois composants avec des poids de 0.0, 0.3 et 0.2, lorsque le conteneur est agrandi, aucune partie de l'espace supplémentaire ne sera attribuée au premier composant, les 3/5 seront attribués au deuxième et les 2/5 au troisième.

Remarque :Si tous les composants ont des poids nuls sur un axe, les composants vont s'agglutiner au centre du conteneur par rapport à cette direction et ne seront pas agrandis au-delà de leur taille préférée. GridBagLayout place un espace supplémentaire entre la grille de cellules et les bords du conteneur.

Les valeurs des poids sont de type double et doivent faire partie de l'intervalle 0.0 à 1.0 inclusif. Zéro signifie que le composant ne reçoit pas d'espace supplémentaire. 1.0 signifie que le composant bénéficie de l'intégralité de l'espace supplémentaire.

X

La contrainte de poids X (weightx) est la distribution verticale du poids d'un composant. Le poids d'une ligne est le poids du composant de plus fort weightx présent dans cette ligne.

Y

La contrainte de poids Y (weighty) est la distribution horizontale du poids d'un composant. Le poids d'une colonne est le poids du composant de plus fort weighty présent dans cette colonne.

Pour davantage de détails et d'astuces sur l'utilisation des contraintes weight, voir la rubrique GridBagLayout dans "Construction d'applications avec JBuilder".

Ancrage

Lorsque le composant est plus petit que la zone dans laquelle il est affiché, utilisez la contrainte d'ancrage (anchor) pour indiquer au gestionnaire de disposition comment placer le composant dans cette zone. La contrainte anchor affecte uniquement le composant à l'intérieur de sa propre zone d'affichage, en fonction de la contrainte fill du composant.

Par exemple, si la valeur de la contrainte fill d'un composant est BOTH (remplit la zone d'affichage à la fois horizontalement et verticalement), la contrainte anchor n'a pas d'effet car le composant remplit la totalité de la zone disponible. Pour que la contrainte anchor ait un effet, attribuez à la contrainte fill la valeur NONE, HORIZONTAL ou VERTICAL.

Les valeurs d'ancrage possibles sont les suivantes :

NO (NORTHWEST) N (NORTH) NE (NORTHEAST)
O (WEST) C (CENTER) E (EAST)
SO (SOUTHWEST) S (SOUTH) SE (SOUTHEAST)

Remplissage

Lorsque la zone d'affichage du composant est plus large que la taille nécessaire au composant, utilisez la contrainte fill pour indiquer au gestionnaire de disposition si le composant doit être redimensionné, et si oui, comment. Comme la contrainte d'ancrage (anchor), la contrainte de remplissage (fill) affecte uniquement le composant à l'intérieur de sa propre zone d'affichage. La contrainte de remplissage (fill) indique au gestionnaire de disposition d'agrandir le composant pour qu'il remplisse toute la zone qui lui est attribuée.

Les valeurs de remplissage possibles sont les suivantes :

Aucune Ne modifie pas la taille du composant.
Horizontal Modifie la taille du composant uniquement pour qu'il remplisse la zone horizontalement.
Vertical Modifie la taille du composant uniquement pour qu'il remplisse la zone verticalement.
Les deux Modifie la taille du composant horizontalement et verticalement pour qu'il remplisse toute la zone.