setHorizontalTextPosition and setVerticalTextPosition refer to the position of the text within the text component, not where the component displays.

I find BorderLayout most convenient for placing...