Если вы посмотрите на предыдущие ответы или ссылки, между строк вы увидите, что фактический ответ на вопрос:
Корневая панель НЕ сам контейнер верхнего уровня, но контейнер верхнего уровня HAS корневая панель.
Поскольку все контейнеры верхнего уровня Swing (а именно, JFrame
, JDialog
и JApplet
) реализуют интерфейс RootPaneContainer
, это означает, что вы можете получить доступ к их корневой панели в общем виде (нет необходимости чтобы проверить, является ли это JFrame
или JDialog
....)
Что касается второй части вопроса, разница между панелью и контейнером, на самом деле нет никакой разницы, панель это java.awt.Container
(или любой подкласс, в частности javax.swing.JPanel
).
Что важно знать, так это различные панели, которые существуют в контейнере верхнего уровня Swing (корень, контент, стекло, многоуровневая структура), для этого вам нужно взглянуть на ссылки, размещенные в предыдущих ответах.