What Is an Internal Frame?
Before we start coding, here’s a brief rundown of the features of an internal frame:
Same functions as a normal
Frameobject, but confined to the visible area of the container it is placed inCan be iconified (icon stays inside main application frame)
Can be maximized (frame consumes entire main application frame area)
Can be closed using the standard controls for application windows
Can be placed in a “layer,” which dictates how the frame displays itself relative to other internal frames (a frame in layer 1 can never hide a frame in layer 2)
To be honest, in practice, standalone frames are often more useful than internal frames. You’ll want to know about both; we have chapters dedicated to each of these topics (Chapter 8 and Chapter 9, respectively).
Figure 2-6 shows a simple internal frame using the Metal L&F.

Figure 2-6. The SimpleInternalFrame application using the Metal L&F
For this first example, we’ll add an empty internal frame to an application. Once that’s working, we’ll expand the simple frame to create a couple of different types of internal frames and create the framework for a simple application.
One of the prerequisites for using internal frames is that you
need a window capable of managing them. The Swing package provides the
JDesktopPane class for this purpose. You’ll see the details of the
JDesktopPane in Chapter 9, but for now, here’s how to get ...