Nous avons vu quelques exemples simples montrant comment redimensionner ou positionner les widgets enfants en fonction de la taille du parent. Jusque là, ce type de calcul s'est produit en réponse à un écouteur de redimensionnement. Il s'agit souvent du meilleur moyen pour traiter le positionnement de simples widgets. Cependant, il existe des schémas courants utilisés par les applications lors du placement des widgets. Ces schémas peuvent être structurés sous forme d'algorithmes de présentation qui peuvent être réutilisés par différentes applications.
SWT définit les présentations qui fournissent le positionnement et le dimensionnement des widgets enfants d'un composite. Les présentations sont des sous-classes de la classe abstraite Layout. Les présentations standard de SWT figurent dans le package org.eclipse.swt.layout.
Vous devez comprendre quelques définitions générales lorsque vous redimensionnez et positionnez les widgets :
Ces concepts sont liés aux applications qu'une présentation soit ou non utilisée. Vous pouvez envisager une présentation comme moyen adéquat pour regrouper les fonctionnalités de redimensionnement à des fins de réutilisation.
D'autres concepts sont introduits par des présentations :
Reportez-vous à la section Understanding layouts in SWT pour obtenir d'autres données et illustrations sur ces concepts.
Le fragment de code ci-après illustre le cas d'une application utilisant un rappel de redimenssionnement pour fixer la taille d'un libellé à celle de son shell parent :
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); shell.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { label.setBounds (shell.getClientArea ()); } });
Le fragment suivant utilise une présentation pour parvenir au même effet :
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); shell.setLayout(new FillLayout());
Même dans le cas de ce simple exemple, l'utilisation d'une présentation réduit le code d'application. Pour des présentations plus complexes, la simplification est bien plus grande.
SWT fournit des classes de présentation par défaut qui peuvent être utilisées dans de nombreuses situations.