The JInternalFrame Class
JInternalFrame provides the
ability to create lightweight frames that exist inside other components.
An internal frame is managed entirely within some other Java container,
just like any other component, giving the program complete control over
iconification, maximization, resizing, etc. Despite looking like “real”
windows, the underlying windowing system knows nothing of the existence
of internal frames.[1] Figure 9-2
shows what internal frames look like in various L&Fs.

Figure 9-2. JInternalFrames in four L&Fs
There’s quite a lot to discuss about JInternalFrames, but most of their power comes
when they are used inside a JDesktopPane. This section provides a quick
overview of the properties, constructors, and methods available in
JInternalFrame, and a more detailed
discussion of using internal frames follows.
Properties
JInternalFrame defines the
properties and default values shown in Table 9-1. The background and foreground
properties are delegated to the frame’s content pane.
Table 9-1. JInternalFrame properties
Property | Data type | get | is | set | Default value |
|---|---|---|---|---|---|
accessibleContexto | AccessibleContext | · | JInternalFrame.AccessibleJInternalFrame( ) | ||
closable | boolean | · | · | false | |
closedb,c | boolean | · | · | false | |
contentPaneb, o | Container | · | · | From | |
defaultCloseOperation | int | · | · | DISPOSE_ON_CLOSE1.3 | |
desktopIcon | JInternalFrame.JDesktopIcon | · | · | JInternalFrame.JDesktopIcon( ) | |
desktopPane | JDesktopPane ... |