A very common problem occurs when tiling labels. Labels have vertical alignment, and when they are tiled vertically with a vbox the top label may partially draw off the screen. (This happens if the top of the vbox butts up against the top of the screen.)
The solution to this problem is to put the label in a vertical alignment glyph with an alignment of 0. This causes the labels to be aligned along their bottom edge.
For example:
verticalBox.append( LayoutKit.valign( FigureKit.label(style, "hello World"), 0 ) );
See sgraphics.test.TestTile.java or sgraphics.test.TestLabel.java for an example of how to use valign with labels and vboxes.
If widgets appear the wrong size or they are missing, it is likely that you need a pack() call. Unless a parent of the SgraphicsAdapter in the glyph tree calls pack(), the widgets, which inherit from Component, do not respond to preferredSize() with the correct dimensions.
Another problem occurs when using CardLayout or any component that calls preferredSize() on hidden components. At least for JDK 1.02 on NT, some widgets don't give the correct size when their parents are hidden. This would not be a problem except that Boxes normally cache their requirements, and they may cache them while a parent is hidden, thus caching bad requirements. Until the problem is better understood, set Sgraphics.cacheRequirements = false to prevent the problem when using CardLayout.
Layout.fixed(Glyph child, float width ,float height) requires specifying the size that you want the child to be. If the correct size is the natural size of the child, and you want to prevent it from stretching, use Layout.flexible(Glyph child, 0.0F, 0.0F) to make the child un-stretchable, and un-shrinkable.