In here:
http://java.sun.com/docs/books/tutorial/uiswing/components/toplevel.html#general

It says:

The default content pane is a simple intermediate container that inherits from JComponent, and that uses a BorderLayout as its layout manager.

In here:
http://java.sun.com/docs/books/tutorial/uiswing/components/jcomponent.html

It says:

The JComponent class extends the Container class, which itself extends Component.

This is contradictory, isn't it?

Also what are the top-level containers?

To be honest, swing seems to be peculiar. It has something also called root pane. Android framework has a GUI platform which seems to be much elegant looking than swing. Swing looks like a collection of hacks.