Instances of this class control the position and size of the
children of a composite control by using FormAttachments
to optionally configure the left, top, right and bottom edges of
each child.
The following example code creates a FormLayout and then sets
it into a Shell :
Display display = new Display ();
Shell shell = new Shell(display);
FormLayout layout = new FormLayout();
layout.marginWidth = 3;
layout.marginHeight = 3;
shell.setLayout(layout);
To use a FormLayout , create a FormData with
FormAttachment for each child of Composite .
The following example code attaches button1 to the top
and left edge of the composite and button2 to the right
edge of button1 and the top and right edges of the
composite:
FormData data1 = new FormData();
data1.left = new FormAttachment(0, 0);
data1.top = new FormAttachment(0, 0);
button1.setLayoutData(data1);
FormData data2 = new FormData();
data2.left = new FormAttachment(button1);
data2.top = new FormAttachment(0, 0);
data2.right = new FormAttachment(100, 0);
button2.setLayoutData(data2);
Each side of a child control can be attached to a position in the parent
composite, or to other controls within the Composite by
creating instances of FormAttachment and setting them into
the top, bottom, left, and right fields of the child's FormData .
If a side is not given an attachment, it is defined as not being attached
to anything, causing the child to remain at its preferred size. |