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