GridLayout est l'une des présentations des plus puissantes et complexes. GridLayout présente des widgets dans une grille, offrant de nombreux paramètres configurables qui déterminent le comportement de taille des lignes et des colonnes lorsque le composite est redimensionné.
La classe GridLayout définit l'API qui contrôle la stratégie de présentation globale. L'attribut le plus important est numColumns qui détermine la dimension horizontale de la grille. En règle générale, vous choisissez cette valeur la première fois que vous concevez l'aspect de votre fenêtre. L'ordre des widgets dans la grille est le même que celui suivi pour les créer. Pour change l'ordre des widgets dans la grille, vous pouvez utiliser les méthodes de contrôle moveAbove(Control) et moveBelow(Control). Ces méthodes permettent aux widgets d'être insérés avant ou après l'un ou l'autre dans la présentation. (Les attributs "above" et "below" désignent l'ordre Z des widgets, et non leur emplacement dans la grille.)
Le tableau ci-après répertorie les paramètres configurables pour GridLayout :
Attribut |
Description |
---|---|
horizontalSpacing |
Nombre de pixels entre le bord droit d'une cellule et le bord gauche de sa cellule voisine. |
makeColumnsEqualWidth |
Spécifie si toutes les colonnes doivent être forcées d'avoir la même largeur. |
marginWidth |
Nombre de pixels utilisés pour la marge sur les bords droit et gauche de la grille. |
marginHeight |
Nombre de pixels utilisés pour la marge sur les bords supérieur et inférieur de la grille. |
numColumns |
Nombre de colonnes à utiliser pour constituer la grille. |
verticalSpacing |
Nombre de pixels entre le bord inférieur d'une cellule et le bord supérieur de sa cellule voisine. |
GridLayout supporte de nombreux autres paramètres de présentation pour chaque widget de la grille. Ces propriétés sont spécifiées dans un objet GridData. Vous devez définir GridData comme données de présentation pour chaque widget dans la grille.
La classe GridData définit des constantes de style qui vous permettent de spécifier des combinaisons de paramètres de présentation communément utilisés dans le constructeur GridData. Vous pouvez également définir ces attributs individuellement à l'aide de méthodes publiques dans GridData.
Vous pouvez parvenir à des présentations hautement dynamiques et complexes à l'aide de GridData. L'association de ces valeurs à différents widgets de la grille peut produire des combinaisons de présentation différentes. La capacité à permettre aux widgets de s'étendre sur plusieurs cellules résulte en de nombreuses présentations qui ne ressemblent même pas à une grille.
Le tableau ci-après répertorie les paramètres configurables pour GridData. Reportez-vous à la section Understanding layouts in SWT pour obtenir plus de descriptions et de captures d'écran sur les divers paramètres de la grille.
Attribut |
Description |
---|---|
grabExcessHorizontalSpace |
Spécifie si une cellule doit s'agrandir pour utiliser tout espace horizontal supplémentaire disponible dans la grille. Une fois les dimensions de la cellule dans la grille calculées en fonction des widgets et de leurs données, tout espace supplémentaire restant dans le composite est alloué aux cellules qui peuvent s'approprier l'espace excédant. |
grabExcessVerticalSpace |
Spécifie si une cellule doit s'agrandir pour utiliser tout espace vertical supplémentaire disponible dans la grille. |
heightHint |
Spécifie la hauteur minimale du widget (et de ce fait, de la ligne qui le contient). |
horizontalAlignment |
Il peut correspondre à BEGINNING, CENTER, END ou FILL. FILL signifie que le widget est redimensionné pour occuper toute la largeur de sa cellule dans la grille. |
horizontalIndent |
Nombre de pixels entre le widget et le bord gauche de sa cellule de grille. |
horizontalSpan |
Spécifie le nombre de colonnes dans la grille sur lesquelles le widget doit s'étendre. Par défaut, un widget occupe une cellule dans la grille. Il peut occuper des cellules supplémentaires dans le sens horizontal si cette valeur est augmentée. |
verticalAlignment |
Il peut correspondre à BEGINNING, CENTER, END ou FILL. FILL signifie que le widget est redimensionné pour occuper toute la hauteur de sa cellule dans la grille. |
verticalSpan |
Spécifie le nombre de lignes dans la grille sur lesquelles le widget doit s'étendre. Par défaut, un widget occupe une cellule dans la grille. Il peut occuper des cellules supplémentaires dans le sens vertical si cette valeur est augmentée. |
widthHint |
Spécifie la largeur minimale du widget (et de ce fait, de la colonne qui le contient). |