JFrame is the basic top-level "frame" component used by Swing applications. JInternalFrame is used by Swing applications to show "frames" inside a JDesktopPane. This is used for Multiple Document Interface applications. (Like MS Word, each document is inside a separate frame in an application. If this was written in Java, each document would have it's own JInternalFrame.)
InnerFrame is not a class in the standard Java APIs... the only reference I can find to an InnerFrame is in the XWT, a toolkit that lets you build application interfaces from XML, in which case I don't think you would be using this class directly... [ October 01, 2002: Message edited by: Nathan Pruett ]
Write once, run anywhere, because there's nowhere to hide! - /. A.C.