A "top level container" is a Java term for something that's not embedded inside of another Java GUI object. But just like applets run inside a native launcher (the browser), so do standalone desktop apps (inside the "java" executable).
Ulf's explanation generally matches my way of thinking about the situation. Just to expand on that a bit...
A JApplet is the Swing browser high level container while JFrame is the desktop high level container, if you design your GUI so that all of the components are defined on a JPanel, then you should be able to use that JPanel within a JFrame or a JApplet interchangeably, with no modifications to the application itself. The JFrame and JApplet classes would just be shells with only a few lines of code each.
Of course there are some functionalities that are meant for Desktop and not JApplet, but in general the above paragraph holds true
Joined: Jul 11, 2009
subject: Clarification needed for top level containers