The last added component is drawn over the previously added component.
Sorry, Rob, it's the other way round. The first added Component is painted on top of any added later. That can be seen in the
SSCCE that follows. However, even this behavior, though not in the least bit likely to ever change, is
undocumented.
The recommended way to achieve desired stacking, or Z-Order is via the method setComponentZOrder(...).
To see the desired stacking order, uncomment lines 56 and 57.