A frame is an element that can contain other elements and optionally draw a border around them. Since a frame is a container of other elements, in the document outline view the frame is represented as a node containing other elements.
A frame can contain other frames, and so on recursively. To add an element to a frame, just drag the new element from the palette inside the frame. Alternatively you can use the outline view and drag elements from a band into the frame and so on. The position of an element is always relative to the container position. If the container is a band, the element position is relative to the top of the band and to the left margin. If the container (or element parent) is a frame, the element coordinates are relative to the top left corner of the frame. Since an element dragged from a container to another does not change its top/left properties, when moving an element from a container to another its position is recalculated based on the new container location.
The advantages of using a frame to draw a border around a set of elements, with respect to using a simple rectangle element, are:
|•||When you move a frame, all the elements contained in the frame move.|
|•||While using a rectangle to overlap some elements, the elements inside the rectangle are not treated as if they overlap (respect to the frame), so you don't have problems when exporting in HTML (which does not support overlapped elements).|
|•||Finally, the frame automatically stretches according to its content, and the element position type property of its elements refer to the frame itself, not to the band, making the design a bit easier to manage.|