GridLayout est l'une des présentations des plus puissantes et complexes. GridLayout présente les widgets dans une grille, fournissant de nombreux paramètres configurables qui permettent de contrôler le comportement des lignes et des colonnes de la grille 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 modifier 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. ("Above" (au-dessus) et"below" (en dessous) font référence au positionnement Z des widgets et non à l'emplacement dans la grille elle-même.)
Le tableau ci-dessous résume les paramètres configurables pour une classe 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 un objet GridData comme données de présentation pour chaque widget de 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. Même la présentation de la boîte de dialogue la plus complexe peut être spécifiée à l'aide de GridData. 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 suivant répertorie les paramètres configurables pour GridData. Consultez la section Understanding Layouts in SWT pour obtenir d'autres descriptions et captures d'écran illustrant divers paramètres de 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 |
Ce paramètre peut avoir l'une des valeurs suivantes : BEGINNING, CENTER, END, 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 |
Ce paramètre peut avoir l'une des valeurs suivantes : BEGINNING, CENTER, END, 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). |