Для этого вы можете использовать JInternalFrame. Перейдите по этой ссылке для демонстрации
Компоненты довольно легко понять. Подробное руководство дается здесь . Но, чтобы сказать вам, суть компонентов не что иное, как контейнеры. Например, JPanel - это компонент, который может содержать другой компонент, например, JButton. Поскольку JButton снова является контейнером, вы можете добавить к нему еще один компонент, JPanel.
Порядок и расположение добавляемых компонентов определяются макетами. У вас есть разные макеты, а именно Borederlayout, BoxLayout, Flowlayout, GridLayout, GridBaglayout, у каждого из которых есть свои плюсы и минусы, а также способы реагирования на изменение размера окна.
Для IDE я бы порекомендовал использовать Netbeans, поскольку вы можете перетаскивать компоненты, а также взглянуть на сгенерированный исходный код Java для лучшего понимания.