The content pane of JFrame has, by default, a BorderLayout. A BorderLayout subdivides the space in only 5 areas and only one component can be shown in each area.

Doing:
frame.add(xyz);
is...