Я бы настоятельно рекомендовал использовать LayoutManager для управления расположением компонентов графического интерфейса. Самым гибким менеджером, вероятно, является GridBagLayout , но он может быть чрезмерным. Даже простой FlowLayout или BoxLayout может быть достаточно, если вы хотите иметь простой кадр.
В качестве альтернативы, вы можете использовать IDE, например NetBeans, для визуальной компоновки ваших компонентов (макет генерируется кодом). Однако знание того, как работают основные макеты, очень полезно.